Hello,
I was dealing with the exact same issue as you getting these weird rotation returns from the getActorRotation() function. In my case I was interpolating a camera between them using the sequencer which was causing all kinds of strange behavior during interpolation. My hotfix was the same as yours, in that I set my -90 rotation nodes to -89.99 to avoid the issue.
Details here if you’re interested:
Anyway, the fix I was taught to deal with this problem is to use the “bUseQuaternionInterpolation” property when interpolating between transforms. This seems to be specific to the sequencer and the movie scene sections, but you can look at how the engine uses this variable to maybe help with your problem.
For anyone using blueprints to access the tracks and sections of the sequencer, you can edit the property like so:
See the above link for the full view of that chain of blueprint nodes.