Would it be possible to divide a move into 3 steps (when using retraction). When moving to next position start the move and retract at the same time, than move most of the way as usual and than start feeding the filament back during the last part of the move.
Eg. if moving from 0,0 to 0,100 move from 0,0 to 0,3 while retracting, move from 0,3 to 0,97 as usually and finnaly move from 0,97 to 0,100 while reversing filament. For short moves just move 1/2 of the distance while retracting and 1/2 of the distance priming again.