I'm looking for some guidance.

I'm using a servo to control a set of crossing gates on a model railway layout. The servo routine works fine, but the values of the pulse train are hardcoded, mostly because the servo appears to start slow and speed up, then slow down as it gets to the end of it's "rotation". Given that every servo has a slight difference in the pot, there is a slight difference in where the "fully up" and "fully down" numbers are.

I'm looking for ideas on trimming the "up" and "down" positions. The solution would modify the existing numbers by some relatively small amount (+ or - 25) and should probably be single digits.

It seems that a pot is easiest, although the calibration seems to be a pain, and an encoder would work, but can the output become single digits? Or, as I suspect, does somebody have a "been there, done that" really slick idea for me to give you credit for?

Any suggestions appreciated
Cheers
Gary