In addition to Don's suggestions (which I'd check before proceeding with what I've written below). Excpecially the part that regarding the self powered usb hub. It is imanent that all your devices don't consume more power than the usb ports can deliver. You can check how much power a device draws on a port, however, what you read there can vary and you might not see any spikes. Best to provide a good buffer to counter any rising demands.
So:
First thing to check is if the system recognizes the controllers att all once you plug them in.
Second is to check if your p3d.cfg has double entries for the controllers. That can happen if controllers get dis- and reconnected and the system reassigns another adress for them, leaving the old entry active. Delete the double entries or all of them. P3D will rebuild the config (custom button assignments will be lost though).
Sometimes there are USB assignments left in the system registry that prevent a usb device from working on a port it was previously plugged in. Happens frequently if you use different USB sticks in the same port.
To remedy this you can delete the proper entries in the device manager (usb part, not HID). You should activate the extended view in the device manager for that (show inactive devices or something like that).
Windows will reinstall the drivers when you rescan the hardware config.
Then there's the vid_06a3 problem that plagues some Saitek hardware. See the thread
http://forums.eagle.ru/showthread.php?t=84295 for this. In my expereience no drivers need to be reinstalled. Deleting the vid_06a3 key worked for me. Don't use original Saitek drivers anyhow, SPAD seems to be a better solution as a controller frontend.
And last, deactivate the energy saving on the root hubs in the device manager. That can wreak havoc with the USB configuration.
HTH
Mark