_If_ the device does have a serial by id, you’ll be fine - if not (I.e. it is mapped by /dev/bus/usb/001/002 for example) you’re mostly out of luck. Cases in point recently encountered: USB printers (to be used in container with CUPS), Eaton UPS to be used in container with NUT.
No amount of scripting with systemd path units, pre and post hooks, udev rules could make those work reliably (for me).
Solution, or workaround, after much headdesking: put services into a VM, map USB device by vendor:device ID, done.
If anyone could shed a light into why that is possible with a VM but not a LXC container, I’d be thankful!
"- do interns get Glocks? - no, they all share one"