If you get a bigger HDD, then you'll find that you needed the space all along.
If it sounds like it's about to rip itself to shreds, then don't risk it, and get a new one. If you say you don't need more than 20gb, then a 40gb should be fine.
Other than that, I don't really know much about Hard Drives.
One other thing you could do to free space is, if your computer is 'clean' - ie, no spyware, viruses, trojans, and what not - turn off System Restore (which will probably free a few gigs), the turn it back on:
Right click My Computer
> Properties
> System Restore Tab
> Put a tick in the "Turn off System Restore" box
> Apply everything
> Close the window
> Open it again, and take the tick out
> Apply everything
You might then want to make a restore point just in case something DOES go wrong, which is just Start > Programs > Accessories > System Tools > System Restore.
The problem with System Restore, is that viruses like to get in there, and the bloody thing takes up a few gig of space.