[Tried to generalise part (a), along the lines of Julien's proof, and David Ullrich's proof here]
Obs: Let ${ (X, d) }$ be a metric space. Suppose ${ \varphi : \mathbb{R} _{\geq 0} \to \mathbb{R} _{\geq 0} }$ is continuous, ${ \varphi(0) = 0 },$ and ${ \varphi (t) \gt 0, \varphi ' (t) \geq 0, \varphi '' (t) \leq 0 }$ for ${ t \in (0, \infty) }.$
Then ${ \rho (x,y) := \varphi (d (x,y)) }$ is also a metric on $X.$
Pf: Firstly, ${ \varphi (d(x,y)) = 0 \iff d(x,y) = 0 \iff x=y. }$
Let ${ x,y,z \in X }.$ Triangle inequality ${ \varphi(d(x,y)) + \varphi(d(y,z)) \geq \varphi(d(x,z)) }$ also holds : Notice ${ \varphi }$ is increasing on ${ [0, \infty) }$ and ${ \varphi ' }$ is decreasing on ${ (0, \infty) }.$ From ${ d(x,y) + d(y,z) \geq d(x, z) },$ we have ${ \varphi (d(x,y) + d(y,z)) \geq \varphi(d(x,z)) }.$ So it suffices to show ${ \varphi (d(x,y)) + \varphi(d(y,z)) \geq \varphi( d(x,y) + d(y,z) ) }.$
It suffices to show ${ \varphi(a) + \varphi(b) \geq \varphi(a+b) }$ for all ${ a,b \in \mathbb{R} _{\geq 0} }.$ Rephrasing, it suffices to show that for every ${ a \in \mathbb{R} _{\geq 0} },$ ${ \phi _a (t) := \varphi (a) + \varphi (t) - \varphi(a+t) }$ is ${ \geq 0 }$ on ${ [0, \infty) }.$
Let ${ a \in \mathbb{R} _{\geq 0} }.$ We have ${ \phi _a (0) = 0 },$ and ${ \phi ' _a (t) }$ ${ = \varphi'(t) - \varphi'(a+t) \geq 0 }$ for ${ t \in (0, \infty) }.$ So ${ \phi _a }$ is ${ \geq 0 }$ on ${ [0, \infty) },$ as needed.
So if ${ d }$ is a metric on set ${ X },$ so are ${ d _1 (x,y) = \frac{d(x,y)}{1+d(x,y)} ,}$ ${ d _2 (x,y) = 1 - e ^{ - d (x,y) } },$ ${ d _3 (x,y) = \log (1+d(x,y)) },$ etc.
Edit If further ${ \varphi ' (t) \gt 0 }$ for ${ t \in (0, \infty) },$ the identity map ${ (X, d) \overset{\text{id}}{\to} (X, \rho) }$ is a homeomorphism, because ${ \varphi }$ has a continuous inverse ${ \varphi ^{-1} : \mathbb{R} _{\geq 0} \to \mathbb{R} _{\geq 0} }$ and now ${ (x _n \to x \text{ in } (X,d) ) }$ ${ \iff ( \lim _{n \to \infty} d(x _n, x) = 0 ) }$ ${ \iff ( \lim _{n \to \infty} \varphi(d(x _n, x)) = 0 ) }$ ${ \iff (x _n \to x \text{ in } (X, \rho) ) }$ as needed.