1) You don't need two keys very closely to make it flip. You can just change the interpolation/curve type to "Stepped".
2) I've brought this up with Nate.
Just off the top of my head, for your purposes, I suppose we could make the scale keys Apply think the latest-applied scale sign is the one you want.
If you are using spine-unity and spine-csharp 3.1.05+ (not the 3.2 beta), you can try replacing your Animation.cs file with this: https://gist.githubusercontent.com/pharan/89511112febd44929c40bb74ecdd1371/raw/ba76bdec8d944e20188bbb26154e1ae6a70bec19/Animation.cs
That's not optimized yet but there shouldn't be a noticeable difference as long as you're not scaling all the bones of dozens of skeletons.
Here, the scale magnitude still interpolates but scale sign won't. (so going between positive and negative scale will be immediate).