I always start from the beginning with the old school ways. I do a plug reading, do a compression test, and get a good vacuum reading at idle and at higher RPMs.
Those three things will allow you to diagnose almost any issue.
Plugs can show you if you are running too rich or lean, as well as coolant leak into the cylinders or shot oil rings.
Compression will tell you a lot about the state of the compression rings and/or your valves. If the numbers are low, do a wet/dry compression test on all cylinders.
Vacuum can show you burnt/sticky valves, clogged exhaust, and vacuum leaks.
You said you have an exhaust leak. That can really screw with your O2 readings and cause the computer to not adjust the fuel mixture correctly. A plug reading will show that up as well.
A bad MAP sensor can throw off you mixture as well.
How is your mileage? A temp sensor that is off can screw with the computer as well, leading to lean/rich conditions.
I would do a fuel pressure test.