McChrystal's comments to Rolling Stone are unacceptable in a General of the Untied States Army. Period.
Now that that's out of the way:
Life is not quite so easy for President Obama as firing McChrystal. One of the hero-geniuses of the US pulling the Iraq War from the brink (just behind Petraeus), McChrystal is an extremely valuable military asset to the US Army, and would be tough to lose.
After his recent successes in Iraq, he has an incredible loyalty in US troops. He's one of a very few people who has Karzai's trust and respect. And, generally speaking, he commands extremely competently.
The risk of canning McChrystal is that the Afghanistan war could, quite really, fall apart at the seams without him. Like Petraeus for Bush, McChrystal may be President Obama's last best hope at winning this war.
The risk of not firing him, of course, is that President Obama would be allowing an insubordination in a General not seen since MacArthur. He would appear weak domestically and abroad. He would set a terrible precedent in the future. McChrystal clearly lacks respect for the current civilian executive branch of the United States--does that make him less effective? Will his subordinates be less effective for knowing it?
But what's more valuable? Which price can the United States afford to pay for McChrystal's comments? President Obama has been stuck with many unenviable decisions in the last year and a half. This may be his toughest.
(For what it's worth, I'm not sure what my recommendation is.)