I always thought from the start that relay implementations should have had mirroring by default. And it should have only been optional filters to block certain kinds or by hostname. That'd certainly help with redundancy and reach.
Discussion
i don't think you would want all relays to be redundant with all other relays, that wouldn't scale. what would be cool is node pairs that have things they want from each other syncing just the things they need.