This is essentially what the "lookahead/planner" in the firmware already do. The jerk or instantaneous velocity change is the setting most related to this. The planner looks at the velocity change vector (dv) and determines how much it needs to slow the head down in order to be within this parameter.
This is a big problem for 8 bit controllers (obviously the Duet is 32 bit) as their move buffer often runs out on fast machines, especially when doing circles. In those cases, since the planner has no moves to compare the current velocity to, it comes to a complete stop at the next point and then picks up again from there.