Naja, die einzige Ungenauigkeit kannst du durch deine Untersetzung bekommen. Vermutlich hängt diese ein Stückchen hinterher (hat Spiel)

Das kannst du minimieren, indem du die Referenz-markierung immer von der selben Seite her anfährst.

Worauf du auch achten solltest, ist, dass evtl. der Motor eine periodische Schrittfolge vo mehreren Schritten durchmacht, die nicht einfach unterbrochen werden darf.
Du kannst nicht mit dem Motor solange drehen bis die Referenz erreicht ist und dann sofort die Motorposition auf "Null" setzen.