USB or NIC driver. Left out a word.
Still unclear: do you mean the USB HCI or the gadgets? For the Bluetooth HCI, it makes perfect sense to represent it as a file: you can just fling bytes at it to get it to do stuff. Why not use read()/write() which are already there and the filesystem as the namespace mechanism?
For example.
If you need such an abstraction system wide
The kernel is also there to provide abstractions.
That's what libraries are for.
It's also what kernels are for. You are not as far as I know proposing that the entire FS layer is dropped because fundamentally the mechanisms in USB Flash, spinning disks, NVMe, network filesystems are so different, so why not have specific APIs for each. So it seems you are VERY PASSIONATELY stating that the line SHOULD be draw in a different place.
But you're begging the question: why should it be the way you say?
Meanwhile, the rest of the world can move past your restrictive, antiquated file abstraction to a far more useful set of abstractions.
That's just emotive language with no substance.