There is a company called HealTech Electronics, and they make a device called "SpeeoHealer" for Non-mechanical MOTORCYCLE speedometers. I have installed on on the last several bike I have owned. What it does is; you calculate the speed difference shown on your dash VS your GPS. You input this into their on-line calculator which give you an adjustment % to input into the installed device. It works extremely well.... at all speeds. (You notice the error more the faster you go). It is a very common issue for motorcycles as even the smallest tire sized change can have drastic speedo/odo error. Also, sprocket size changes on chain drive bikes create wild speedo/odo errors. All that being said This particular company & item is for motorcycles only.... But you might want to contact them to see if they can recommend one made for an automobile. Just a thought..... Good luck.
HealTech Main Page - HealTech Electronics - Smart Tech for your Ride!
SpeedoHealer item I mentioned - SpeedoHealer v4 (SH) - HealTech Electronics Ltd.
P.S. - Be sure to consider any warranty issues if you choose to try this.