According to the Debian Policy Manual which is a good source for information on how stuff is supposed to work in Debian/Ubuntu. Don't take it too literally though. It's for packagers, not system integrators.
BTW the only "evil" alternative would be to manipulate files in /etc/rc*.d/ manually which works for sysvinit scripts but I'm not sure if it would work for upstart stuff.
update-rc.d is the recommended method
According to the Debian Policy Manual which is a good source for information on how stuff is supposed to work in Debian/Ubuntu. Don't take it too literally though. It's for packagers, not system integrators.
BTW the only "evil" alternative would be to manipulate files in /etc/rc*.d/ manually which works for sysvinit scripts but I'm not sure if it would work for upstart stuff.