Have you considered if it'd be plausible to interpolate points between gps points, using sensor data? I'm sure the sensor data output is "messy", but median filter for each vector could do wonders.
Also some smoothing using spline math for representation wouldn't hurt and isn't hard to implement.
Comments
And about interpolation from sensor data above; besides position you could also interpolate speed changes.