The answer is so simple that it may temporarily disorient you.
- Civil unions are a government function
- Marriage is a church function
In other words, civil unions declare that two people are unified according to the government, e.g. taxes, insurance, power of attorney, etc., while marriage declares two people united within a specific religious context (God does or does not approve).
So, all existing marriages should become civil unions, and governments should be the authority for all such partnerships in the future. If someone would also like to get married (whatever that means to them) — either before or after entering into a civil union — they can take that to church where it belongs.
Governments should decide who can civilly unite, while the couple’s church should maintain the right to deny them a marriage if something about them goes against that churches religious views (interracial, gay, wrong faith, etc.). If the couple doesn’t like that decision they’re free to choose another church.
In short, churches don’t tell governments who can civilly unite (secular), and governments don’t tell churches who they can or cannot marry (religious). This approach elegantly embodies the American concepts of equality, separation between church and state, and religious freedom.
The only thing interesting about this approach is that we’re collectively too stupid to realize that it’s the solution.
- One other small detail: the civil union will be known as “marriage”, because that’s what it means to have a recognized, formal relationship between two adults. The fact that this relationship is not religious in nature is a side-effect of the separation of religion from government.