You probably have a worn out sending unit, corroded, poor contact, etc, etc
The thing is just incredibly simple. It is simple resistance wire, wound onto a form, with a moving contact. This is otherwise known as a "rheostat." The moving contact and or the wire can be corroded / rusty, and lose contact "suddenly." You could try a "gentle" cleaning method.
The whole darn problem is, that the "repop" replacements don't seem to be accurate.