Easiest way I can think of fixing that is to use a current sensor. As per the rules it has to be low impedance. The one we used this year was:
https://www.sparkfun.com/products/9028. There is also a 45amp version.
As for implementation: in Java we simply set it up as an AnalogButton that called a StopMotor command when it hit a current higher than a set amount. (We are also planning to re-implement that for if it jumps a certain amount, aka current spike, even if its low current to start with).
__________________

Programmer - A creature known for converting Caffeine into Code.
Studying Computer Science @ Louisiana Tech University
Associate Consultant @ Fenway Group
2012-13: 3946 - Head of Programming, Electrical and Web
2014 - 3468 - Programming Mentor
2015 - Present - Lurker