A few quick clarifications here. Frame-invariance is a property held by constants, not by reference frames themselves. It means that, from any inertial reference frame, that constant or value is observed to be the same. I see light moving with the same speed (in a vacuum, of course) as someone traveling at half the speed of light relative to myself. Some other constants, such as the charge of the electron, are also invariant to the "boosts" described in relativity.
There are also plenty of things that do not have mass, in the inertial sense. Photons do not, as well as gluons (okay, that's two, not plenty. Sorry.). But neutrinos do. This has been experimentally confirmed because they oscillate as they travel (a complex phenomenon that I am not the one to explain). If they do this, they experience time. And if they experience time, they have mass.
Now it's important to note that an object's mass does not preclude it from experiencing an inertial reference frame! In fact, some will argue that having mass (and thus travelling slower than light speed) is necessary to have an inertial reference frame. Anything not being acted upon by a force (recall that gravity does not count here) is in an inertial reference frame. I'm not sure what you mean by a "perfect" reference frame, but these are certainly as good as any other.
If you want a solid resource to learn SR in more depth, I highly recommend a text such as Taylor's and Wheeler's Spacetime Physics.
Please feel free, anyone more experienced with GR, to correct any mistakes I have made.