Multiple hubs, or multiple servers? A single server can handle dozens of hubs sending data.
A single hub can handle about 20 badges (download the data fast enough). If you don't need audio data, you can modify the code not to turn on collection and then it can handle many more badges.
As for running multiple instances of the hub on a single machine - it's not likely to work because of locks on the Bluetooth driver, but I'm not sure. If it does work, you'll probably see a lot of failures when multiple hubs are trying to scan at the same time or connect to a badge at the same time.
We had an experimental code at some point that used multiple threads to connect to (up to ) 4 badges at the time. It mostly worked, but you can only have one thread attempting to connect at a time. Once connected , you can have 4 or 8 connections (there's a limit, can't remember exactly what it was).
Ideally, you'd have a producer-consumer code, with the producer running scans, and consumers trying to connect the the badges it finds. We ended up not doing that because it was easier for us to get more raspberry pis than getting this code working well enough.