I would say to plan on some experimentation - hit and trial. If you start the motors at high speed / high power,
there is more chance of tire spin. I suspect a bigger softer tire will give better results. I have also found
some power / speed variation between motors, and I use a #define (determined by experimentation, which
I still need to do more of), for motor pairs in my code. I can then use the same code for various motor pairs.
Also, if the motors run at slightly different speeds, this will move the center of rotation of the robot.
And if you run on a soft surface like a carpet, a small wheel will sink in more and require more power than
might be theoretically expected. And you may see some variation as the batteries run down. So, I think the
short answer is the theory and math give a good starting point, but expect to do some experimentation.