Disregarding whether I agree with his solution or not, I definitely disagree with the way that he is trying to solve things.
Why do you disagree? Is there any other way to do it?
There is nobody "in charge" that can make a decision for everybody. There isn't any kind of "vote" that would satisfy everybody.
Bitcoin requires consensus, and in this situation consensus is impossible. The only option remaining is for there to be multiple separate "consensus" each with their own fork of the blockchain. Then some measure of chaos begins while the competing ideas play out in the real world and we see what happens.
With Gavin's current "way he is trying to solve things", the larger blocksize isn't being forced on most people. There is an option available to anybody that wants it to support larger block sizes. Once the miners (and merchants) exceed 90% on the matter the decision won't need to be made, effectively consensus will exist. If the miners never reach 90% on the matter, then everything stays the way it is today and others are free to try whatever solution they prefer.
My question would be: What would be the best way to get out of the mess that we're currently in and make a decision, even if it isn't the right one?
There is no way "out of the mess", by its very nature all protocol changing decisions in bitcoin will always be messy. The only thing that can be done is to accept the messy nature of it, provide software that makes clear what is supported, and hold off on activating any forking changes until the system has arrived at near consensus on the matter.
The consensus requirement has always been (and always will be) one of bitcoin's biggest weaknesses. It's a great thing for stability in design (making it nearly impossible for any single entity or group to force their own changes on the majority), but it makes advancement and improvement extremely difficult to accomplish.