MCG PathConstraintAxis
Requirements: Max 2016 + Extension1/2 + SP3. Max 2017/18.
I will stress again, for Max 2016 you MUST have the extension (1 or 2) to have any spline functionalities.
This MCG gets rid of the flipping problem as with the default Path Constraint. It also allows the constraint to be based on an axis of a controlling object. This works with multi-spline paths, the default Max Path Constraint works with single spline paths only
Installation:
Then controller can be found in Motion Panel>Assign Controller
Ver 1.01: now includes Arc Length (Distance) mode
Ver 1.02: if you keyframe Up Vec, now will see proper red brackets and values
Ver 1.03: correct mirror (Y axis) bug
Ver 1.04: increased Arclen to 999999
Tip: for a loooooong complexed flightpath, it is far better to correct the internal 'gyroscope' by keying the Up Vec rather than keying the Roll. So if you see your plane slightly off axis, correct it by keyframing the Up Vec (usually the Y component, along with Z at 1.0). Because the sooner the 'gyroscope' is corrected the better it carries though the rest of the flight.