Because there are legal considerations involved with 2 people deciding to formally share their lives together, and because governments do have some say over contracts (like when they are claimed to be violated and the parties have to go to court), I believe that the government should limit its involvement to those matters.
Proposal: as far as the government is concerned, all civil commitments and marriages shall from now on be uniformly known as “civil unions.” If a couple (hetero or same sex) wish to have their civil union formally known as and recognized as a “marriage,” then they are free to do so. Go to a church or a temple or a synagogue or wherever. Have someone of your faith or whatever officiate. Wham! You’re married.
Nonetheless, in the eyes of the law, no marriage or other civil union — regardless of nomenclature — shall imbue the couple with any rights not also provided to other civil union couples.
This includes (but need not be limited to) family law, surrogacy, adoption, health proxy rights, visitation rights, survivorship interests in property, etc.