If the problem were electrical, you would either read all the way empty or all of the way full all of the time.

I had this exact problem. The float that makes your unit work is in a tube. It has magnets on it that the electrical part of the sending unit reads and then send the information to your guage.

In my case, the foam ball, was sort of swollen from years of immersion. Likely yours is also. It could also be stuck due gum or varnish from the gas. The solution is to remove the unit, take the end cap off of the tube and pull out the foam ball.

Be careful, you don't want to knock the magnets off. I also shaved down the ball to make it move a little more freely inside of the tube.

This is worth a shot. You have to remove the old one anyhow, and it just might save you a couple of $$$$.

PS You can undo the clips at the bottom of the tank that hold it in place at the bottom. If you undo the breather vent hose at one end, you can pivot the other end of the tank around to get at the sending unit. This way you don't have to remove it completely.

Fixed mine myself last year. I had to epoxy the magnets back into the foam float. I found some 2 part epoxy that was gas resistant at the local marina, but some guys have used super glue. Easy fix, there is a thread on it in the frequently asked questions section.