Ich nutze die PWM Funktion des Kontrollers. Also Hardwarelösungsansatz.
Mit der Hardware-PWM geht es aber nun mal nicht.
Und zusätzliche externe Hardware würde auch deutlich aufwendiger werden, als der eine von Felix G vorgeschlagene Inverter.

Bei der Software Lösung müsste ich dem Timer immer die Überlaufgrenze neu mitgeben oder? D.h. abhängig von meinem Stellsignal, oder?
Nein, den Timer würde man einfach durchlaufen lassen. Was du dem Stellsignal jeweils anpassen müsstest, wäre der Compare-Wert. Dann bräuchtest du noch den Compare-Interrupt und den Overflow-Interrupt, beide wären aber sehr einfach.

Overflow-Interrupt:
PWML auf Low
(*)
PWMH auf High

Compare-Interrupt:
PWMH auf Low
(*)
PWML auf High

Bei (*) könntest du dann noch nach Bedarf NOPs einfügen, um es an die Schaltzeiten der FETs anzupassen.