Marriage is a religious institution, and to extend it to gays would take something from the religious values that marriage holds.
So, keep marriage to the churches, and out of government.
If marriage is a religious ceremony, and is designed to uphold religious values, then it has no place in government. I don't really think we should ban it, but I do think that it should not be a legal ceremony.
The federal government should create a new legal ceremony called a Civil Union, which applies to any two people wishing to get married. Laws surrounding this should make certain that issues such as support, insurance, retirement, etc etc are covered with a civil ceremony.
Once civil ceremonies are in place, all existing federal law should be altered to say civil ceremony, rather than marriage. And while states scramble to react, federal law should find a way to protect civil ceremonies. After 10 years or so, all federal law protecting marriage should be expired. All couples married prior to the effective date would automatically roll over to also have a civil union, unless the couple acted to prevent that from happening. After the expiration of marriage in law, marriage would only have a place within churches, and a religious-only marriage would have no legal standing, so those who want legal recognition would also sign civil union documents, rather than the old marriage documents.
I fully believe marriage has a place in society, but marriage falls under God's law. And government cannot, and will not, enforce God's law over marriage, so the government should butt out.