It could possibly be a fuel injector problem? Use a code reader if you have one to see if there are any fault codes present - injection faults often show up here if they are present.
Otherwise, try using an injector cleaner added to the fuel and see if this helps.
Other things to check are the engine earthing strap - top of gearbox to battery - check for corrosion on gearbox end in particular
:d