GM has seemingly struggled with this exact phenomenon for decades. Yet some of their vehicles have totally normal gas gauges. My wife's 2000 Malibu is totally normal. My cousin's 2001 Z06 was totally normal. My 93 Caprice is just like our CTSs: non-linear and if it gets close to E, you are really close to E. The going theory for all the 80s and 90s Cadillacs with this gas gauge was GM was playing on human psychology. People reasoned that GM figured owners would rather see the first half of the tank take forever to go through, giving the appearance of good mileage. I never understood that explanation because the truth would be plainly obvious during the latter "half" of the tank. But it also doesn't seem to be a technological hurdle as they have cars that don't exhibit this. I also know that varnish on the sending unit wiper can cause non-linear readings, but it's really more of an exacerbation of a stock design characteristic. The cars, even new, did the same thing, just maybe not as bad. In fact, in the B-body community, someone went to great lengths to create an analog device that allowed you to calibrate F and E by inserting it in parallel to the sending unit output wires. On the Impala SS, this characteristic would actually break the functionality of the stock low fuel warning light. Once recalibrated, the gauge once again saw the correct 0-90 ohm resistance of the sending unit. My 95 Fleetwood was really low if the 16 bar VFD display changed to "low."
Run some Techron through a tank or two of gas and that should clean the sending unit up as much as is possible without replacing it or taking it apart.
A look through HP Tuners suggests that this might be correctable in software.