I serve our Canon(s*) through my basement debian** server and CUPS and I will agree that the linux support is something of a mess. It always takes me a couple of hours to get it set up whenever I replace the server OS or printer hardware.
* only one printer on the net at a time, but we’ve had three Canons now
** at work I’m an .rpm kinda guy but I do .debs at home to keep my skill spread.