It’s a common problem that happens because modelers like to look their models in the face when they create them. That means that the models are created looking down the backward axis (since forward is into the screen).
Your solution is simple and workable. Another possibility is to use an intervening node with a 180-degree rotation, or to apply an initial rotation with a flattenStrong(), or to pre-apply the rotation into the egg file with egg-trans or egg-optchar (depending on whether it is static or animated).