Many teams stick with a simple 2wd system, as it is cheap, efficient, lightweight and simple to build. However, you've quickly discovered that they are complicated to drive and easily pushed around.
If you are using a common "swivel caster" on the front of the robot, I can offer one quick, simple change to make it drive 100% better. This website,
http://www.omniwheel.com offers a "transwheel" that practically eliminates the initial wobble that a swivel castor produces. They are very cheap wheels, and fairly indestructable, and we've used them with great success in the past. However, they will not improve your power, or resistance to side loads.
YMMV,
BEN