In fact as written things like zeroGuidanceIntegral for example are written in the 'common' code path but then call into the fixedwingfollower sub file.  This seems pretty poor.

If you _really_ do want to have one master function, it should be then written with a clean implementation and API.  Look at how the driver structures are used in PIOS_COM for example.  Create a structure of callbacks for particular follower implementations.  Then based on the airframe type set the pointer to the structure appropriately and the rest of the code should have no idea what function it is calling.