Kalman filtering helps a LOT, although it's not easy to learn if you're just starting out. My guess is that, since you have a fairly sophisticated robot you can probably do a bit of math and coding. KF helps a TON when you're trying to reduce noise, and sometimes even drift, on IMUs. GPS is excellent for speed measurements, so you can use it as a corrective term in a KF for your accelerometer to destroy the drift, and be on your way.
Ultimately, you have a few other solutions as well:
1) GPS is not very accurate (well...to be fair, the satellites ARE 20000+km above you and you get your position to +/-5m, but not accurate ENOUGH for our applications :-P). However, as long as your GPS receiver is fairly precise (ie: it might give you the wrong measurement, but your measurements are always within a very small area), then you can set up a known ground location and start there.
What does that do? Well, if I KNOW I'm at (x,y), and GPS says I'm at (x+3, y-2), then I just use that as a constant offset and I'll have accuracy now down to the precision of the GPS. Downside is that you need to re-calibrate every time you use it. GPS errors are more or less constant for short runs, but change daily-ish.
2) You have a camera and a laser range finder. Ditch the GPS entirely and use SLAM (Simultaneous Localization and Mapping) algorithms to solve your problem. Robot Operating System has some great SLAM stuff going, but it's probably harder than kalman filtering. Only use your GPS to tag the data for later.
Robot localization is hard, and you're probably better off getting a book at your local university's library, or checking some papers online. It's...basically impossible to tell you how to do it in a forum post :-P
@Wesley888: We're using an Ardupilot as well, and we found that, although we can get it to run consistently over the same area once we program it in, we can't ensure that the area it's running over is the one we wanted :-P We've resigned ourselves to that, and are now just designing our own board that uses better sensors.