How does the car run at idle and full throttle?
If you haven't already, I would clean the MAFs. I understand the milage is very low, but dirty MAFs don't accurately report the air flow and then we can rule that out.
As for replacing your fuel injectors, I wouldn't do that just yet. Let's dig into this a little bit more. It can get very expensive throwing parts at a problem.
Let's look at what data is being reported to the ECU.
If your OBD scanner can show live data, with the car warmed up and at idle make a note of:
• Short term fuel trim bank 1
• Long term fuel trim bank 1
• Short term fuel trim bank 2
• Long term fuel trim bank 2
To find the total fuel trim for each bank, add the short term and the long term. They should be between -15 to + 15.
Also:
• Mass air flow sensor A
• Mass air flow sensor B
At a hot idle of 650 RPM, the air flow for both banks should be very close to 2 g/s
(If your elevation is high, the value will be lower)
and finally:
• O2 sensor lambda (Bank 1, Sensor 1)
• O2 sensor lambda (Bank 2, Sensor 1)
At idle they should both be 1.0 (or air/fuel ratio of about 14.7:1)
If your OBD scanner doesn't support live data, you might want to purchase a quality bluetooth LE OBD scanner for around $30 (Veepeak BLE, iCar Pro, etc) Avoid the $10 scanners, most of them are very slow and I have received a few that were dead and then needed to go through the process to get them replaced.
A good OBD app is OBD Fusion (< $15) and has a very comprehensive diagnostic report, that reports the values of all PIDs, misfire counters, and other good stuff. For under $50 you have a good diagnostic system with data logging capabilities that you can use on any car made after 1995.
Anyways, I hope that you can provide the live data, and we can continue to hunt this down