SysV init scripts (RHL-style)
If your distro supports RHL-style SysV init scripts (which I think it does) you'll have a /etc/(rc.d/)init.d directory containing services to start on runlevel change. In it you'll find a script called "cups or cupsd". Opening the file in a text editor should show a line like "# chkconfig: 2345 45 92" where the first set of numbers are the runlevels the service is started in, the second the position in the startup sequence and the third one the position in the shutdown sequence. Changing the second one to read "99" makes it nearly last in the bootup sequence, save and close. Running "chkconfig --del cupsd; chkconfig --add cupsd" should set it up like you want it.
* Alternatively you can edit the name of the symbolic link in the runlevel you start in, say "5" if you boot into multi-user GUI mode. Typing "mv /etc/rc5.d/S45cupsd /etc/rc5.d/S99cupsd" should do it, at the cost of being reverted if the service file gets reinstalled on say upgrade.
SysV init scripts /etc/rc.d/rc.local
Another way, if your distro supports SysV init scripts, is to simply add the command and all the arguments needed to start cups in /etc/rc.d/rc.local using a text editor.
Recent versions of the Vixie cron daemon allow you to use special notations, so you can get a service to boot adding a line "@reboot root /thecommand/to/run --with-all-arguments" to /etc/crontab. Replace "/thecommand/to/run --with-all-arguments" with the actual command and arguments.
( Well, four ways, generally speaking. There's also BSD-style init in some distro's. Some can handle SysV-type init scripts like Slackware. Luckily your distro isn't hampered by BSD-style inits so it really is of no concern to you :-] )