To play Facebreaker, does there have to be both a friendly unit and an enemy unit? Does the 'do as much as you can' rule apply?

Yes, you must have both a friendly unit and an enemy unit at the same battlefield to play Facebreaker. The 'do as much as you can' rule does NOT apply here.

Facebreaker requires you to 'Stun a friendly unit and an enemy unit at the same battlefield.' This is a group targeting requirement that must be met when you play the spell. You must make valid choices for all targets to put a spell on the chain. If valid targets don't exist, the play action is illegal and gets cancelled—Facebreaker stays in your hand.

You CAN choose stunned units as targets, though the stun instruction won't execute on them.

If you legally play Facebreaker with valid targets, but then Flash (or another effect) moves one unit away before resolution, neither unit gets stunned. The group targeting requirement is no longer met, so the instruction cannot execute. However, Facebreaker was legally played and goes to trash—it doesn't return to your hand. The card only stays in hand if the play action was illegal from the start (targets didn't exist when you tried to play it).