As dear madchachi recommended, fragmentation can be an alternative, though it mostly arranges the programs in HDD partitions for a better function and speeding up the programs execution, nonetheless it collects and arranges the outspread empty spaces of every partition in one place that can increase the HDD operational empty space.
The second alternative is cleaning up HDD from unnecessary or junk files and programs. Windows itself has such the facility but it is not a developed and comprehensive one. There are some cleaning up software that can help users to remove unnecessary occupant files and also wash registry from unnecessary keys and thus polish it ! But you should be careful about such the software and choose the most reliable one, because some of them can remove a program or file that you don't want to be deleted, and some of them even do this automatically every week or month!