If you only care about flipping for view direction, you can track the direction (or look at the root bone scale) and if flipped, adjust your math.
Matrix decomposition has the same problem. You say you don't care how the state was reached but if you do care about the sign of the world scale X, it is impossible to know. Eg, if decomp tells you it's negative, it could actually be rotation and negative scaleY. If decomp tells you it's positive, it could actually be a negative scaleX.
There was worldSignX
, but it wasn't terribly useful. What it did was multiple the signs of the local scales up the hierarchy to the root.
Bounding boxes are a problem with flipping in general, because IIRC box2d doesn't allow them to be flipped. I think the general solution is to have two sets of bounding boxes. It's been a while though, someone please correct me if that is wrong. Another possible workaround is to actually use 3D physics, then you can achieve a "flip" of the physics bodies using a 180 rotation on the Y axis.