Well the first thing that I would suggest is being strict with the amount of junk on the system.
Be critical of what programs you have on the system do you actually need them, is there any redundancy, e.g. programs that do very similar if not the same task (choose the one most regularly used).
Regularly clear temp files and browser cache, etc.
Keep control over the amount of hard disk space used by system restore. I have seen the System Volume Information folder/s grow to in excess of 1.5GB. All of the above contribute to overall fragmentation, so keeping a grip on those will also help.
I Use Puran Defrag, it does a very good job, is pretty fast and it also has a boot-time defrag option, http://www.puransoftware.com/