Revs going up and down by themselves could be a vacuum leak. So check all your little vacuum lines for any cracks or perished rubber.
Give your throttle body a good clean, you want it to be shiny silver clean on the inside. See if this helps, it can make a big difference to have a clean throttle body.
O2 sensors could also be stuffed, if they are it could be running rich and this is the fuel smell you're getting. You can remove them and give them a clean, but usually they need replacing. They can also be tested, but you need a multi meter. If you've had the car a year or two and never replaced them, then it'd be worthwhile doing.
If you've had error lights then they would have saved an error code that could point you in the right direction. But will need scan tool to check codes.
Sometime exhaust and cats can cause problems with O2 sensors so if any of this work is recent then it could be causing your problems, then you'd need re tune due to exhaust and cats (if you did cats).