When you're idle is bad, surging or you're getting sputtering under light loads try the following:
Make sure all Vaccum hoses and gaskets are sealed, Injector cleaner, Clean MAF, Plugs, Wires, Block EGR, Change Throttle Position Sensor, Change Idle Air Control, Change O2 sensor(s), Change coil, Take out and clean injectors (or test and get new ones)...
I would do those things in this order (cheapest/easiest first). If you have a datalogger you can check the values of most of these things to see if they're giving irregular or incongruent values.
If you're still having issues, then I'd say get into checking the Crank angle sensor or well... the list goes on.