I have the same problem in trying to build a sphere spring embedder for planar graphs (all planar graphs can be embedded onto (unit) sphere because of bijection of plane and unit sphere minus north pole). I have overcome the wrap around with a trick sofar.
First I determine (very slow, $O(|V|⁴)$ runtime) tetrahedron vertices with sum of shortest paths maximal). Then I discard two shortest tetrahedron paths not sharing vertices and a big separating circle remains. I give the $4$ vertices coordinates
coords[M[0]] = [3*Math.PI/2, Math.acos(+Math.sqrt(1/3))];
coords[M[1]] = [ Math.PI/2, Math.acos(+Math.sqrt(1/3))];
coords[M[3]] = [ Math.PI, Math.acos(-Math.sqrt(1/3))];
coords[M[2]] = [ 0, Math.acos(-Math.sqrt(1/3))];
Then vertices of tetrahedron shortest paths are evenly placed between those vertex positions:
Visualization of separating circle vertex placements
For all vertices on "left" side of separating circle the horizontal polar angle is in range $0°..270°$, and no wrap around can happen. So I use Tutte's system of linear equations solver with separating circle as "outer face" and get polar coordinate positions for left side vertices.
Then I add 2*Math.PI to all vertices in $0°..90°$ range, resulting in all horizontal coordinates being in range $180°..450°$, allowing to solve system of linear equations without wrap for "right" side of separating circle vertices.
This is an example output (my code creates OpenSCAD file for visualization):
corresponding forum posting
sphere spring embedding of (planar) C60 fullerene
As you can see vertices "left" are numbered "$1$", vertices "right" are numbered "$2$" and vertices on separating circle are numbered "$0$" (edges on separating circle are orange as well).
Now I want to fixate all vtype $1$ and $2$ vertices and determine new coordinates for vtype=$0$ vertices by solving system of linear equations, and have the wrap around problem as well.
Now an idea (not complete yet) on how to solve system of linear equations in case not arbitrary precision is needed. This is $2π$:
pi@pi400-64:~ $ echo "pi=4*a(1); 2*pi" | bc -ql
6.28318530717958647688
pi@pi400-64:~ $
I took first $8$ digits $62831853$, but that was no prime. But $62831849$ is a prime. So with $7$ digits past decimal point precision values can be represented in $Z/pZ$ with prime $p=62831849$.
If a solution exists in $Z/pZ$, done.
If not, values have to be changed slightly (eg. by increasing/decreasing last digit) in order to find a solution.
The $4$ missing integers until $2π$ should not be a problem.
Will try Gaussian elminination which works on $Z/pZ$ with some modifications in order to find an approximate solution (which would be perfectly fine for me) now, and update here if successful.