I would think your issue would be the sensor (aka: sending unit). The temp sensor works on a resistance scale. The hotter it gets, the more resistance is given in the circuit (or maybe it's the other way around ... don't remember, but you get the idea), which relates to the gauge what to show on your dash (newer vehicles will take an output from the computer to display on the dash and therefor only need one sensor to do the job). If the sensor is bad, it can do one of several things. It can have the needle not show anything, it can make the needle peg, or some other thing in between, like what you are seeing. If it were the gauge which was bad, it will usually either just stay at the low side or it will peg all the way over. Since yours is giving you a reading at all, I'd head towards the sensor itself (which I believe is the conclusion you've already came to). One way you might be able to check, depending on how the gauge is setup, is to ground the wire which attaches to the sensor. Since it works on resistance, if you ground it, it may peg the needle in the dash. Of course, you'd need the ignition switched on, but you wouldn't need to have the engine running. If it does peg the needle over (basically zero resistance), it might indicate that the gauge in the dash is working correctly. It might, however go the other way and peg it to the cold side ... this is all dependent, as I said, in how the gauge is set up.
The ECM controls sends a signal to a relay which turns your fans on and this is based off of the temps sensor going directly to the ECM. The sensor supplying the gauge is only for the gauge, so you should have no worries there. You could possibly get a reading from your ECM as to what the temperature is actually running at, if you can find the right software and interface.
The gauge itself is never going to be a perfect reading of what the temperature of the engine actually is. It is a little better than an idiot light, but not by much. Almost every vehicle I've seen with a sweep type gauge has the normal operating temperature at the center (or near center) of the sweep. This might be punctuated by a tic mark or a number representing the temperature.
I think once you get an new sending unit into the engine you'll find out what the "normal" position is for your gauge.