In theory, I suppose you could use the movement of astronomical bodies to do the same, but making a portable device that can automatically detect (without necessarily LoS the sky) the relative positions of sufficient markers seems like a tough ask.
I think when we figure out affordable global positioning without needing external infrastructure, we'll unlock a major technological milestone as a species. Right now you can do this for short periods of time with multi million dollar INS solutions which are used exclusively by the military.
My guess is the answer will be in SLAM augmented with some other sources of data. See googles project tango.
Anyway, if you want a global system with sub-meter accuracy, you will have to continuously adjust it. If you settle for ~100m accuracy, you can create something that will last for a long while without any intervention by using satellites.
wonder if it could work on Earth too...
That's just not accurate enough for many applications, and resolution varies a lot.