The fuel gauge in my 2000 Impala LS (3.8, 96,000 miles) works fine until approx 1/2 a tank. After that it fluctuates up and down. The fuel light will come on, and based on the miles driven and gallons used (that trip computer really comes in handy!) I know that I am getting down to the last 3-4 gallons, but if I turn or excellerate from a stop light, the gauge will go as far as 3/4 full - and will take a long time to come back down.
I had the same problem on my Chevy. The source of your problem is in the fuel tank. On the assembly for your fuel pump(this is inside your fuel tank) is a flotation device that glides up and down a resistor and sends a signal to your instrument cluster. The resistor part (held by 2 screws) has become corroded around the half a tank reading. To get to it you need to pull the fuse on the fuel pump, depressurize the tank by starting the car until it dies, bring down the fuel tank, take the C clamp off the top of the fuel pump assembly and you should have access to that little part. Clean the resistor (it looks like a little wire comb) with jewelry cleaner in fashion that goes with the windings of the wire. If you notice a break in the windings you will have to replace the whole assembly since that part is not sold separately.