Assuming that you have some automated robot control software that reads sensors from one robot and sends control commands to one robot, in order to scale up to multiple robots, you need to have all the communication Topics use a different or unique namespace.
So instead of having the IMU sensor published on a Topic called /imu, for example, just launch that publisher node with a robot name argument or use Topic name remapping from the command line or from a launch file so the IMU data ends up published on Topic name /robot1/imu instead. Of course, your automated robot control software will also need to be launched with an argument or Topic name remapping so it will listen for /robot1/imu rather than /imu. This means that you will launch as many automated robot control nodes as you have robots.
Here is a picture that summarizes the scheme. Green indicates sensor Topics and red indicates command or control Topics.
Controlling multiple robots is not for the faint of heart. Do you have automated control software that you want to connect to multiple robots or do you have a manual human interface that you want to use to control multiple robots?
An automated control software is aimed to be used to. Initially, I am trying to use Gazebo to make them (the robots) act like particles, changing info with one another and so on. I've got the spawning of multiple uavs successfully on the simulator, but not their flight at the same time.
For completeness sake, what version of ROS/Gazebo are you using? How did you install the hector_quadrotor_gazebo package (e.g. apt-get, source etc.)? Were you successful and did the answer below help you?
I'm using Gazebo 2.x version hosted by ROS Indigo. I got the hector package following the package summary described on ROS.org . And yes, the answer below worked for me.