You could always try and incorporate a fiddle factor into your software.
This will adjust the time of the motor depending if it is running forward or backwards. You will have to find out what this factor is by experimenting with the hardware you have.
So for example if one motor runs at exactly half the speed of the other ( I know it doesn't but it makes the illustration easier ) then if you run it for three seconds in one direction you run it for 1.5 seconds in the other direction.