I agree, it seems you would need a USB adapter of some sort... I haven't seen a printer with a parallel/centronics interface in years! (Or Ethernet adapter)
I think you would need some special hardware... I imagine you could do it with clever programing, but it would take gobs of code... so not practical for most software (like GEOS which has 0.5K allowed for printer drivers!)
Some device that would allow serial bus (most compatible) or user port to 'talk' to a USB device... but it should be optimized for printers... using a generic USB interface would involve too much software (I imagine).
I've heard of USB solutions for game controllers and mass storage devices that are suppose to be CBM-compatible, but I have never tried one. I think a new breed aimed at printers would be needed in this case...
The only other option would be Ethernet. Would the Comet or 1541-Ultimate with RR-Net work? (I don't know... just an idea)
If you wanted to PRINT#4 (very common) then you would need custom ROM or at the very least patch the KERNAL vectors... if you have software that allows printing to user port (umm, PRINT#2 ?) then options are more flexible.
This sounds like a fascinating project, unfortunately I have zero time to work on it... if I could make a living selling Commodore products I would! Well, it seems Ray Carlson makes some money FIXING Commodores, but I prefer to create new things...
Umm, Jim Brain seems to make some money with this stuff... I don't think it pays all his bills, but if you read some of his blogs, you should see that (at least some times) he has way more orders than he can fill... he might be the guy to ask!