Have nodes start up in interactive discovery mode (or have option to force to a particular master or disable this completely) then they will pick the nearest master if there is one. Otherwise continue in discovery mode.
If a node has a master it will query it for topic discovery and advertisement. This should greatly reduce non-data traffic and make the system actually scalable.
The masters should be able to discover and talk among themselves to sync topics between them.