This question comes up from time to time. My counter question is: what should the scale return if the object is twice as wide but half as tall?
A single scale value would be impractical because as you point out, changing the objects proportions would completely mess up the scale, so...
How about having 2 scale values ?
In your example it could be something like:
X Scale = 2.0
Y Scale = 0.5
Is something like that viable?