The power ground on a motor controller can be out of control and crazy. Evidently this can cause problems with the microcontroller if it has the same ground. One thing you could do is get a small dc-dc converter that takes the pack voltage and turns it into isolated 12v for the control power. Just a few watts would be enough.
As far as motor brushes go, I have no idea how to do that. haha. There are people on here who have done it. It's to optimize a motor for higher voltages. It cuts down on arcing. I think you rotate the brushes some unknown number of degrees, and then reattach them somehow.
PI control (without the D):
PID controller - Wikipedia, the free encyclopedia
I'm warning you. Pretty soon you will hit a naked picture of Kim Jung Il. I can't remember what page it's on, but I posted it, so I know for sure it's on here. haha.