Sorry maybe I didn't explain that properly:
you can set the correction factor to whatever you want. So if your indicated speed is 3x the actual speed, you can divide it by 3 and get to the correct speed. However the odo will not be 100% correct, but will be 9% slow. That's what I mean with builtin discrepancy. Stock the odo is (almost) correct, but speedo is 9% fast. If you use the speedohealer to bring the speedo 100% correct, your odo will be 9% slow. That problem already exists stock and there is nothing you can do about it. With the speedohealer you can choose whatever multiplier you want. So for example setting a divider of 3 could bring the odometer back to correct readings, and speedo 9% fast (as it is stock).
You would have to play around with a gps to figure out what factor works best for you, and what you wish to have more accurate, the odo or speedo.