You may want to look into the harpoon mod, but what you are experiencing is normal. When I first got my truck I could never get more than 33 in it when the dash monitor showed less than 10 miles to empty. I just figured that the idiot light was off. In reality the fuel fill neck and the vent tube extend like 6 inches into the tank which makes foam come up the filler neck way before it is full. I think this is a safety design to keep you from filling the tank to the brim in the summer and having expansion issues once the fuel warms up.
I haven't done anything different to my truck and I can now easily get 35 gal in the tank when the 50 miles to empty comes on. I guess I have just adjusted to a style that allows the tank to fill completely. I have actually put 39 gallons in it before.