Vehicles will do this, exactly the way you want!
The solution you'll end up using is a set of effects used for Magic Carpet. The Magic Carpet allows a character to be "offset" so their sprites are higher or lower than default, which you have precise control over, and it has a "shadow" so players can determine their location on the Map so they understand collisions. You dont need the Magic Carpet graphic, and can just swap out the character graphic (or rotate them with other scripts I wrote) for one where your character is flying around. The "offsets" and "shadows" will help to make your flying character appear as if they are well above all other characters, and can fly through trees and what not.
I released Vehicles yesterday, and never thought of something like this, but realize it will suit your needs.