As for your pitch oscillation problem...I'm thinking that you should not be assigning pitch_pid to the rear rotors, just the nose rotor. Reason being is that if you spool the rear motors in response to pitch (lets say it is nose up but should be level, so the rear motors spool up to counter), the torque from the rotor on your config from spooling up will actually create a nose-up moment, where you intended on creating a nose-down moment with the thrust.
Keeping the rear motors fixed in response to pitch, whose torque is inversely related to the desired pitch, will eliminate this weird canceling between rotor torque and rotor thrust when responding to pitch disturbances. This will mean that only the front rotor stabilizes pitch which will couple to roll as it changes its speed. So your roll axis needs to be able to handle the disturbances from the nose rotor as it responds to pitch (you can see what I mean by roll-pitch coupling with this example). Not a problem if you have roll tuned well.