1. use a decent defrag tool every time you install a new program. Not the Windows one. I use perfectdisk. 2.install ccleaner and set to run at boot up. 3.install more ram. I've found these three things stop the effect you describe and give a smooth load up of the desktop.
The Windows defrag is perfectly OK and does a perfectly good job of defragmenting a drive. An activity which in my personal view is over touted as an activity. On a modern system defragmenting more than once every couple of months is overkill.