I also think defragging your main drive (C: on windows) should help a little bit and if you do use MyDefrag which is free and optimizes the drive as well as defragging it. Meaning it will place program files in a faster location on the harddrive than user files for example. There is also a program called Ccleaner that I use, the free version, and it cleans your registry which makes windows PCs faster and I might increase boot performance but not sure.
In terms of hardware, some people install solid state drives and put the OS and program files on it and the user data on the hard disk drive. This will give a significant increase in boot up and program loading performance.
That's about as much as I know.
There is also the option of putting the computer to sleep instead of turning it off which means it doesn't have to go through the whole boot process but I don't know what the cons are.