Ich habe leider kein geeignetes Tablet auf dem ich das nachstellen oder gar debuggen könnte. Aber ich kann ja mal "raten". Nur damit ich nicht völlig falsch liege: es geht darum, dass man nach dem Touch auf einen Link nicht da landet, wo man soll, und nach weiteren Touches immer wieder springt, aber erst nach einigen Versuchen endlich ankommt?
Wenn ich mir das in Olafs Video anschaue (ab 1:11), dann sieht es mir so aus, als ob man (a) mit jedem Touch ein Stück näher kommt (also nicht querbeet durch die Seite gesprungen wird), und (b) kein Soft-Scrolling stattfindet. Das könnte ich mir dadurch erklären, dass die Animationsschleife eben nach dem ersten Schritt endet. Warum? Vielleicht wegen dieser Zeilen? Bitte testweise einfach mal löschen. Danach gibt es Chaos, wenn man zu schnell hintereinander Links klickt, aber wenn man wartet bis das Scrollen abgeschlossen ist, bevor man wieder klickt, dann könnte es funktionieren wie gewünscht. Falls ja, dann könntet ihr den Code wieder einbauen, und EPSILON erhöhen. Das EPSILON gibt den maximal erlaubten Abstand zur alten Scrollposition in Pixel an; eigentlich sollte es 0 sein, aber schon auf Desktopbrowsern ist das wohl wegen der Dezimalstellen nicht möglich. Vielleicht müsste man einige wenige Pixel angeben, vielleicht auch 100 oder so. Und vermutlich sollte ich diese Lösung sowieso noch einmal überdenken.