Optimizing Windows XP Bootup - Avast

I spend far too much time eliminating unecessary windows services (aka processes) from my startup list. However, I'm still stuck with a relatively slow boot-up because I run Avast (free anti-virus software) which insists upon updating its database once XP starts.

A very simple optimization would be for Avast (and similar services that start-up) to have a delay of 2-5 minutes before launching its CPU intensive operation which lasts 20 seconds. This would give me adequate time to launch my email and several applications, at which point I'd only be using 1-2% of the CPU power and there would be plenty left for Avast. They might also try using a lower priority, so all other computer operations don't grind to a halt.

Would it be possible to do this using a scheduler or to write a utility that would do a delayed start for services where you can afford to wait? Even better, can you have the utility wait until the CPU is inactive (aka 1% capacity) for a period of 30 seconds before doing the start-ups?