I think all are great ideas.
I own an American Pitbull and a Yorkie. They LOVE to play, however my pitbull is 50lbs and sometimes gets to playing too rough, NEVER any aggression issues and he'd never fight with her. But when they get to playing to rough I treat it as fighting for her safety. Here's what I do...
I make Leonidas [pitbull] sit, lay, stay. He's amazing with these commands. Then Maci has to come sit on my lap. I keep them like this for 10 min or until I can tell Leonidas has calmed down. Then they are free to roam again. Mind you this isn't for fighting it's for getting too hyper/rough.
For fighting...
Having multiple dogs can sometimes mean you will need to "crate and rotate" this is a permanent thing for some dog owners, temporary for others. Either way it's is good for being able to work with the dogs one on one to establish who's the leader [YOU.] One dog goes in the kennel for a couple hours while the other gets to hang out with you. Then switch and repeat all day. Only do this when they fight. It needs to last the whole day/the rest of the day. And you can continue it through the next day. Some people live this way, crate and rotate, personally I couldn't crate and rotate my dogs my whole life. So for me it's a 1-5 days thing as a learning tool/control tool.
Also, a trainer/behaviourist would be an awesome "investment" for the sake of keeping your babies.
I make my dogs do EVERYTHING together, they walk together, go outside for potty together, get treats at the same time, fed in sepereate bowls at the same time, go to bed and wake up at the same time. Everything in our home is equal.
YOU MUST know your dogs body language. You can google body language charts, which are helpful but a lot of dogs have their own individual body language that you need to know.

GRACIE AND KJC: GREAT ADVICE IN POST REPLIES!