One word: corrosion. The sending units are notorious for developing corrosion because of sulphur in crap gas. GM's fuel system treatment was updated in the last 2 or 3 years to include an agent to treat corrosion on the sending unit. But chances are if the sending unit is responsible for whacky resistance values, to the point where it would bounce between half and empty, it's probably gone and no reasonable amount of GM fuel system treatment would resolve your problem. Definitely check it for resistance at the sender and then along the circuit to make sure.