You can set the steps per unit on a short 1" move. Setting them over a 12" run will do no good as you could be missing steps along the way AND it will throw the accuracy OUT the window (make it wrong). EVEN if you set it over a long run it will STILL get off over time as it does NOW.
Your problem seems to be missing steps. FIX the missing steps problem and the rest fixes itself.
Just a thought, (;-) TP