One PWM timer to two outputs?
It appears that there was some issue with predetermined values, by setting COM1A0 and COM1B0, Timer 1 can be configured to give independent signals. This is the setup code that works:

void setup_timers () {

TCCR1A |= (1 &lt;&lt; WGM11) | (1 &lt;&lt; WGM10);
TCCR1A |= (1 &lt;&lt; COM1A1) | (1 &lt;&lt; COM1A0) | (1 &lt;&lt; COM1B1) | (1 &lt;&lt; COM1B0);
TCCR1B |= (1 &lt;&lt; CS11);
TCNT1 = 0;

DDRB = 0xFF;}


I'm still having trouble getting it to properly control the motors, but the servos work well, and it can be done.

Note: Timer 1 actually has two separate outputs, but Timer 0/2 do not. To get dual outputs, you need to toggle WGMx2 and the COMxB 0/1 registers, when WGMx2 is set, OCRxA will not output properly, but OCRxB will, with some fiddling. When WGMx2 is not set, it disable OCRxB, and OCRxA will work as normal, to get independent outputs, you will need to take this into account.