You'll have to find a real defrag tool that can also defrag in use files (on reboot). I for one recommend Perfectdisk (raxco).
Clear system restore (disable then enable it again will clear it)
Check that your pagefile is set to a static size so it isn't constantly resizing it and causing more fragmentation and delays to resize it. (in case you don't know how
-right click my computer
-select properties
-select the advanced tab
-select the settings button for performance
-select the advanced tab again
-select change for the virtual memory section
-pick custom size and put in 2.5 times your memory for both min and max (1280 for 512M memory)
-defrag system files, or
find a way to clear the page file on your next boot (should only need to do that once)
Should see an increase in performance, how much I don't know.
Also worth mentioning, Windows Live sucks. For me, it eats up a tonne of space for a usrjrnl file that has something to do with the folder sharing thing - last time I ran it it created a 2.5GiB jrnl with more than 44,000 fragments that did indeed slow my PC down (with 1.2G of memory, no less); I found no way to defrag it, only recourse was killing live and issuing some sys maintenance commands to clear the journal. The only way to tell if this is affecting you that I know of is to mess with the "system volume information" hidden folder's permissions so you can see how big the contents of the volume info folder is (or use a defragger that can check $MST and similar files for you). It shouldn't be much more than what you set system restore size to for that drive.
That about kills my list for suggestions, aside from getting more complex. Been able to maintain a 768MiB RAM system with a 1.9GHz AMD with no noticeable slowdowns for nearly 2 years now (though I get the occasional doctor watson crash, some dwwin.exe dll load issue).