I like the custom-broadcasting model, where you can set your broadcasting target-relays in the relay. Then you create little clusters of relays, that talk to each other, and everyone just needs one and a backup.
I kinda feel like this is being pushed too much on the user, through the client relay settings, but it's too advanced for them. They should just say, "these two relays and broadcasting from the first one", with broadcasting=TRUE as the default.