my si used to be the same way I changed the fuel filter,plugs,wires and cap and rotor and I also had the timing checked. Try changing the oxygen sensor if possible. Mine started running alot better after the the first stuff was done.
oh I forgot to tell you to check the codes.