As for the surname-on-marriage thing, I like the hyphenated solution.
That is a bit of a problem for applying to the children though, because the third generation is going to end up with hyphenated surnames that are four words long. Obviously unweildy and unworkable. Surnames have to dropped somewhere along the process. But I don't like the automatic taking of the male's surname either.
I rather like the idea of partner hyphenating each other's names, and when you name the children, you give them a hybrid surname of the two parents. If you follow a fairly consistent rule of giving female children the first half of the mother's original surname with the second half of the father's original surname, and give male children the first half of the father's original surname with the second half of the mother's original surname, you actually wind up, if you follow some examples down a few generations, with it all working out so that there are very neatly surviving Matrilineal names and Patrilineal names within surnames.
You have to write it all down in a family-tree graphic to actually see the neat keeping of matrilineal and patrilineal names, and how generations of boys and girls have same surname parts that trace up and down all the generations to their umpteenth grandparents and umpteenth grandchildren, but it does work out neatly, especially if you give yourself permission to tweak exactly how you hybridise the two halves of the surnames.