Just have a method. Any method. Democracy is nice. If more people agree on something than the rest, it's the way it'll be done.
And somedays you have to tell people to suck it up. "Oh, two spaces indentation in Python is how Google does it? Well, it's not how we're doing here".
When it's allowed to break the rules? When the method you choose allows it. For example, breaking code convention is a no-no under whatever. But boost::shared_ptr? What everyone else on the team thinks? What does your "method" says? That performance is more important than readbility?
If you have a prima donna developer who doesn't accept his peer decisions, then you have a bigger problem than just silly arguments. You've built the wrong team :p
Smart people love being corrected, most of the time. They're in it for the learning, not to display their awesomeness.