This is going to be unsightly...

The following Mathematica code:

Needs["VectorAnalysis`"]
Simplify@ CoordinatesFromCartesian[
CoordinatesToCartesian[{r, theta, phi}, Spherical]
+ CoordinatesToCartesian[{r0, theta0, phi0}, Spherical],
Spherical
]

gives the following output (doctored so that it looks nicer):

$$ r' = \sqrt{r^2+2 r_0 r \left(\sin (\theta ) \sin
\left(\theta _0\right) \cos \left(\phi -\phi
_0\right)+\cos (\theta ) \cos \left(\theta
_0\right)\right)+r_0^2} $$

$$ \theta' = \cos ^{-1}\left(\frac{r \cos (\theta )+r_0 \cos
\left(\theta _0\right)}{\sqrt{r^2+2 r_0 r
\left(\sin (\theta ) \sin \left(\theta
_0\right) \cos \left(\phi -\phi
_0\right)+\cos (\theta ) \cos \left(\theta
_0\right)\right)+r_0^2}}\right) $$

$$ \phi' = \tan ^{-1}\left(r \sin (\theta ) \cos (\phi
)+r_0 \sin \left(\theta _0\right) \cos
\left(\phi _0\right),r \sin (\theta ) \sin
(\phi )+r_0 \sin \left(\theta _0\right) \sin
\left(\phi _0\right)\right) $$

In this last line, there is a two-argument variant of arctan, which is explained here, for example.