Adapted from this, to avoid the second projection and make flying arc height proportional to length. Because the ‘sky’ projection is just a scaled up version of the original one, the projection of a sky point in canvas coords can be calculated by simply scaling the ground projection point along the vector from the origin. Another improvement(?) might be to avoid the swoosh/interpolate function by doing this same trick directly on the stream of points that comes from the normal projection path function.
This was originally a gist hosted at bl.ocks.org, which seems dead now. This clone might still work.