Stable voltage at high current
First, fix the code to take the measured voltage into account.  No, it's not "too complicated".  Get someone that knows what they are doing.

Second, regulating the voltage to motors to get specific speed or accumulated distance is futile.  Measure speed or distance directly, then vary the motor drive to whatever it needs to be to produce the desired result.  Due to the closed loop feedback, this will automatically compensate for the power voltage.  For a little faster and more linear response (which allows the control algorithm to work more simply), I'd add a little feed-forward based on the measured power voltage.  The control loop puts out a normalized drive level, and the code that sets the PWM duty cycle takes the power voltage into account so that the desired drive level is achieved independent of power voltage and transparently to the control loop.  This is all well within the capability of a modern microcontroller.