I have three angles between $0^\circ$ and $360^\circ$ that are all close to being $120^\circ$ apart. E.g. [$50^\circ$, $183^\circ$, $310^\circ$].
How can I mathematically find values that best fit these points but are exactly $120^\circ$ apart? [$50^\circ$, $183^\circ$, $344^\circ$] --> [$55^\circ$, $175^\circ$, $295^\circ$] (this was an example solution and probably not correct)
I would find the phase angle needed to rotate an isosceles triangle in order to meet the target angles.
In radians the angles of an isoceles triangle are $ 120° (i-1) = \tfrac{2 \pi}{3} (i-1)$ for $i=1\ldots 3$
Each target angle $\theta_1$, $\theta_2$ and $\theta_3$ needs a phase shift of $\varphi$ defined by
$$ \varphi_i = \theta_i - \tfrac{2\pi}{3} (i-1) - n\, 2\pi $$ for $n=0$ or $n=1$
choose the wraparound integer $n$ such that it makes all three $\varphi$ as close as possible.
Now you can take the average phase shift as a best fit
$$ \varphi = \frac{ \varphi_1 + \varphi_2 + \varphi_3}{3} $$
If all $n=0$ and no wraparound is needed then
$$ \varphi = \frac{ \theta_1 + \theta_2 + \theta_3 - 2\pi}{3} $$
But if you need to specify some wraparound integers $n_1$, $n_2$ and $n_3$ which might be 0 or 1 then
$$ \varphi = \frac{ \theta_1 + \theta_2 + \theta_3 - 2\pi (1+ n_1 + n_2 + n_3) }{3} $$
For the example in the op you have
$$ \varphi = \frac{ 50° + 183° + 295° - 360°}{3} = 56° $$
and find the three angles as
$$ \theta_i' = \varphi + \tfrac{2\pi}{3} (i-1) $$
for the example above this is
$$ \begin{aligned} \theta_1 &= 56° & \theta_2 & = 176° & \theta_3 & = 296° \end{aligned}$$
To find the difference between two angles, without having to worry about wrapping around 360° you do
$$\Delta \phi = \cos^{-1}\left( \cos \left( \phi_1 - \phi_2 \right) \right) $$
this is derived from the dot product of two vectors on the unit circle.