... it favours the right rear motor ...
I doubt the motors all have identical performance, so it is quite likely it would veer a bit. You could try to determine what factor to increase/decrease that motor by to compensate.
You mentioned above about using the encoders to determine the no. of revolutions of each wheel.
I have a snippet (small example program actually) in the section "Reading the rotary encoders". You could incorporate that to find out whether one wheel is moving faster than the other and perhaps use that as a motor compensation.
However this will be thrown out if the track spins, which it tends to a bit, because if one spins a bit as it comes up to speed the number of counts won't reflect which way it is going.
If you are negotiating an obstacle course a proximity sensors might help keep it going straight. For example, sideways mounted IR emitters/detectors could be used to make sure it is in the middle of the current lane. I haven't tried this, it's just a suggestion.