I would suggest that you move your thinking up a step. You are trying to restart the USB device directly, why not try the hub?
I had a similar problem, and doing:
devcon remove *ROOT_HUB* && devcon rescan
Re-attached the USB device to the hub when it was hung.
Note: This will remove ALL USB devices from the device manager and re-add them. You can use expect or alike to do devcon findall *ROOT_HUB*
and remove either ROOT_HUB20
or ROOT_HUB30
as needed.