I have two ideal situations:
A) Marriage for all. Gay and straight.
B) The government stops issuing marriage licenses. They simply issue civil unions with all the legal benefits they offer in marriage, and you obtain the 'marriage' title from your place of worship. That way if your church is not on the pro-gay side, it doesn't have to recognize a gay marriage, and that couple doesn't have to suffer any legal consequences for that church's refusal to recognize their validity as a couple.
The problem with civil unions is that some of them offer the same legal benefits as marriage, and some only offer some. And there's no way to tell from the name.
And if we have civil unions with equal benefits to marriage for same-sex couples, and marriage for opposite-sex couples, then that means organizations can discriminate by offering certain services for "married couples only, not civil unions" and basically we'll have a whole series of lawsuits over that... let's just solve everything all right now instead of sweeping it further under the carpet until it comes out the other side.