In a vacuum, there would probably be some sort of loose correlation between battery voltage and speed of the axis. You would lose that correlation the moment you put other mechanisms on your robot, though, since they will also draw power from the battery.
Realistically, you need to find some way to measure that position with a sensor whose sole purpose is to find the angle of this axis. A few ways that I can think of are:
Point a distance sensor at something mounted to the axis. This doesn’t work very well if the item is really small, or if you need more than 180 degrees of rotation (even 180 degrees would be hard to make accurate, though).
Couple a potentiometer to the shaft. In my opinion, encoders are easier to deal with than pots, but if a pot works where an encoder doesn’t, it might be worth it. If you have access to a 3D printer, you could probably make some pulleys that could be attached with o-rings or some similar setup. In some situations, this might be more versatile than an encoder.
Just find a way to mount an encoder. You mentioned that you couldn’t find an encoder for the motor you were using. What motor is that? Most encoders aren’t specific to just one motor, and can be attached to any shaft of the right size. If there is a shaft somewhere on this mechanism that ends near a possible mounting location for an encoder (meaning any pretty much flat surface over 1-2 inches in diameter), you can throw an E4T or CTRE Magnetic Encoder or any other general purpose encoder on there to measure this more precisely.
OR just slap a camera off to the side of the mechanism and use vision processing! That way, the programmers get to deal with it! /s
As far as limit switches go, beam break sensors or distance sensors can often be mounted in ways that a physical limit switch cannot.