http://www.speedohealer.com/
Supposedly requires a "custom fit" for a BMW - not sure what this means.
Once you calibrate a speedo (either by timing mile markers or GPS), I've never thought it much of a big deal to simply do the math in my head (e.g., most speedos read about 5 mph high in the typical 60-80 mph freeway grind, so you just add 5 to the number on the face). But you do need to find out how much it is out.
On my Strom, someone made new gauge label faces with the correction built-in and I must admit it's nice to have the speedo dead nuts on, but I have to remind myself that there is no fudge factor with the number it is giving me - at first I found myself just racheting up my speed to my typical 5-10 above around town and this is risky with an accurate speedo.
- Mark