A friend and I were talking, and I came to a new conclusion about the government definition of marriage. I've always felt that it wasn't really the government's place to define marriage, but that it seems to have to define it out of necessity.
Here's a potential problem: If homosexual marriage is officially recognized, then ministers--who act as agents of both religion and government when they officially marry two people--will be forced to recognize homosexual marriage. This violates their freedom of religion. It also means that public school teachers will be forced to recognize homosexual marriage and heterosexual marriage equally. This essentially means that a certain religious view will be being taught in schools that children are legally required to attend unless they can afford a private school. Again, this violates their freedom of religion.
So, here's a possible solution: Take away all official government recognition of marriage. Set up a civil union system designed for people who are living together and uniting their finances on a long-term basis. The government will completely ignore marriage as a social and religious institution, and only pay attention to the legal contract of a civil union. Then, churches, institutions, and individuals will be free to call marriage whatever they like. Churches won't be required to recognize a homosexual couple as married, and homosexual couples won't be required to consider themselves unmarried. Everyone has the freedom to believe as they choose.
Based on what I know so far, I think that this is the best possible legal system.