Could you add additional retraction according to the time it takes to move to the next location? As in: if the move is going to be smaller than 0.25 seconds, the retraction will be the normal retraction. If the move is larger than 0.25 seconds, the retraction is on a gradient curve of "Y" ...