Geared Stepper Motor

You could calculate the number of actual steps from theoretic steps using:

  unsigned long actual_steps = theoretical_steps * 283712 / 4455 ;

and then you'll only ever be 1/4000 of a revolution out (which is less than the 1/1000 requirement).

It is indeed an annoying gear ratio!