Scan for hardware changes is the method. You indicate having used that method and it hangs on the scan? That method is not usually required for proper detection.
Is it hanging on some device?
For that you remove any extra things and scan, to attempt to detect what device may cause it to hang.
Could it be a "filter" or added driver thing in the driver that hangs?
For that you check the driver details. See if there are added "features" tossed into the drivers shown there that do not always help.
A filter usually manifests itself a different way, but it can cause a USB hang (information for finding the filter added to USB is needed here).
It could be better if the few Windows updates for USB were in?
If you rolled back, or re-installed or brought in some clone backup, or never updated, the Windows USB updates may not be in there. One USB update in Windows 7 was very useful, and the other fixed updating the USB (an update that fixed the fact it did not update).
It may not have proper drivers for the controller and hubs.
Check the manufacturers of the computer for chipset or USB drivers. Like an Intel chipset driver package will have Intel USB controller items. Sometimes this is just a renaming of the device, not an actual change of the driver.
3.0 USB drivers are more often very necessary and have gone though more revisions (after the release of Windows 7).
A device has fallen to sleep.
The combination of device and driver do not wake up well (some 3.0), the scan does not wake the device, or the scan hangs. Remove the offending device and re-insert. It probably will wake up.
Mess made by plugging things in every port could be cleaned.
Prefer not to start juggling USB items to all the ports as each insertion to different ports makes another entry in the registry. It is possible to cleanup all this extra stuff by doing the "hidden devices" tweak, enabling to show hidden devices, and cleaning up all the ghosted replications and unused items.
Assuming you had a original detection issue, a tip.
Windows sounds have in it 3 sounds that work when identifying and connecting USB devices: Device Disconnect, Device Connect, and Device failed to connect. Applying some sound to those 3 that you recognise easily. If a device does not make the connect sound, it isn't going to connect. It is usually a fruitless waste of time to continue stuffing things into ports then. Something is likely to be wrong and it is not likely to fix itself.