Drawing Arcs between two points on a globe

I need to draw an arc between two points on a globe (missile command style) and I’ve been struggling trying to find a method that looks decent, and avoids clipping the sphere of the globe.

Currently, with the two points, I take the vectors they make from the center and average them. This should give me a vector between the two, and I use the resultant vector to find a point outside the globe (scaling by magnitude so it’s greater than the radius of the globe) and use this point as a control point for a bezier curve.

This works nicely if the points aren’t too far apart, but tends to clip through the sphere if they’re far apart. I also get inconsitent arc heights, even though every point is scaled by the same magnitude.

Does anyone have suggestions on how to improve this, or another way of going about drawing these arcs?