I don't have anything for the USB drive except that I don't have those problems at boot time whether my externals are already on or not.
For the network thing, I recommend that you disable the network service. If you're using NetworkManager, then the network service is not needed at boot time. True, NetworkManager needs the network service, but it will start it later when it needs it. But if the network service set to enabled it can spend some time trying to acquire an IP address at boot time. You also can disable wpa_supplicant in services for the same reason (not needed at boot time and NM will start it later).
Lastly, and probably less importantly for the long boot time (but they all add up), are unnecessary services enabled. Do you need things like sendmail, sshd, mdmonitor? And then there are some other things that you may not miss such as abrt, avahi-daemon, dnsmasq, firstboot, netconsole, netfs, ntpd, ntpdate, and others. Anyway, mjmwired always publishes a guide for this kind of thing. Here it is for Fedora 13...