First you should judge the GPS drift caused by insufficient GPS sensitivity of receiver or bugs in RF algorithm. If it's insufficient GPS sensitivity, you should find a better GPS antenna or GPS chipset. If it's bugs in RF algorithm, you should require the improvement on GPS chipset from manufacturer. Also you can handle this improvement by smart processing in hardware firmware or software in web based GPS tracking platform.
First if the vehicle is still , not moving anymore, you can hold the last GPS coordinate when it's still moving. So even the vehicle is beside the high buildings, or valleys, and the real GPS coordinates are running wildly, but realtime data will not contain the real time coordinates, but the old coordinate when generated at last time when it's still moving.