There are a few things to look at. First, is the odometer reading correct? Stop by a mileage marker on the freeway. Reset the trip odometer. Drive 10 mile markers and stop again. If your speedo was 10% high, the odometer should read 11.X miles. (despite having traveled 10 miles)
The other thing to check: Is it off by 8mph over its entire travel, or just @ 70 mph? How far off is it at 35 mph?
Both tests will tell us if it's a gauge issue or a perceived speed issue.
The other thing to check would be to compare the tire size on the vehicle to the tire size listed on the door sticker. That'll tell you if someone installed smaller-than-stock tires without recalibrating the system. If they're stock tires, there's also the possibility that they replaced the gears/axles with a different gear ratio and again, didn't have it recalibrated.
Until you get the speedo issue figured out, your mileage numbers are not accurate data that can be used to judge whether or not you're getting poor or less-than-expected mileage. FWIW, on my bone-stock 98, I regularly get 300+ miles per tank provided I'm using summer-blend gas, I don't do more than 60 mph on the freeway, and I stick with my 35/75 mix of city/highway driving. My last tank, I squeezed 340 miles out of it before the light came on.
-Joe