I doubt the worn out struts would affect your mileage, but the malfunctioning o2 sensors would cause you to run way rich, resulting in shitty ass mileage..
also check your tire pressure and see when you need to change the oil and stuff in your car. Some fuel injector cleaner would probaly help as well.
Change your fuel filter also. You don't want to exceed 30,000 miles on one.
If you're flat-spotting tires, meaning you are getting a smooth patch on your tires, then the struts will need to be replaced. It happened to both of my Camrys and it took care of the tire problem. However, it didn't have any noticeable effect on gas mileage.
Your O2 sensor will need to be changed if your "check engine" light comes on. Maybe a second opinion from another mechanic would help diagnose the low mileage problem.
Simpler, and quicker way to find out. Ask your local dealer the ohm resistance spec on your 02 sensor. Pull the wire test it with one end on the 02 the other on ground ...Voila' it is either within spec or not...take appropriate action. example (.8 volts- 2.8 volts etc....)
Hope this helps.
Also you can buy them anywhere...once you learn how to test them(takes about 10secs) you can go to a local auto wrecker and buy for next to nothing.
Good luck!
change your air filter then look in your manual on how to use your diagnostics port under the hood. all you need is a paperclip to bridge 2 terminals which makes your check engine light flash trouble codes if any sensor is bad.