I do this by running two copies of BFGMiner and using the --scan parameter to specify which devices are used by each miner. In my case, I have a bunch of USB Block Erupters and a BE Cube.
One BFGMiner specifies '--scan none' and '--http-port 8330' to support the BE Cube (which connects over the local network).
The other BFGMiner specifies '--scan-serial erupter:all' to support the USB erupters.
This is also useful when the devices vary in hash power. I set the USB erupters to difficulty 4 while the BE Cube is set to difficulty 16.