I've been having this problem for years too, but finally fixed it a few months ago. I don't necessarily recommend this procedure, was not the easiest, but I like it.
I suspected the problem was in the tank, not the dash, and this got confirmed when I swapped the whole dash for a custom and used a new Autometer gauge. I also know that it's a pain to drop the tank all the time to slightly bend the float arm while trying to get the numbers right. So, I made a nicely done access panel in the floor of the rear bed of the tub. Over about 3-4 tanks of gas and minor adjustments to the float via the new access panel, I'm good. As a start, I used a potentiometer (variable resistor, from signal line at tank to ground) so I knew exactly what ohms were needed to get the gauge to read at the 5 main points (E/.25/.50/.75/F), then played with the float assembly on the bench to get those ohm readings close. The gauge now reads dead on 'E' when I have 3 gallons left, and takes 17+ to fill. It's not dead on linear at the mid points, but it's decent.
So, I can tell you that enough playing with bending the float can make it work.
'93 YJ, '02 GM 4.3 Vortec V6, SOA, dual ARB's, 8.8+D30(w/WarnHubs), 4.88 gears, 35" BFG KM2's, AX15, 15x7 wheels, NP231+4:1+SYE+2LO, York OBA, Warn M8000, no top or doors Apr-Oct.
Member and Web guy: New Mexico 4 Wheelers My Truck Page on NM4W Site