You would need to create an external controller for such a task. My first idea would be to get an Arduino, Breadboard, and a USB hub and basically create a switch that is controlled through the Arduino. The Aruduino would need a program called Firmata loaded onto it that allows for pin control over serial (USB). Your program on the computer itself would run like this:
Turning USB hub off:
- Eject Camera/Other Data devices connected to hub
- Communicate with Arduino over Firmata and turn off necessary pins
Turning USB hub on:
- Communicate with Arduino over Firmata and turn on necessary pins
And your circuit flow chart would look something like this:
USB Hub>USB Cable>Breadboard Switch/Arduino>USB Cable>Computer
The only disadvantage here would be that you can not individually switch off each USB device. To achieve this you would need a fairly more customized solution that would involve building your own USB hub. That would be an awesome project though!