Da sua pergunta, eu acho que você usou o defragger do sistema Windows. Pelo que sei, esta função do sistema não não move pedaços vazios. Tente usar uma ferramenta de desfragmentação melhor, como Defraggler by CCleaner . É grátis e até tem uma versão portátil. Eu tive bons resultados com o Defraggler até agora, mas, reconhecidamente, ainda não tive fragmentações tão altas.
Você tem seu arquivo de paginação em seu HDD fragmentado? Se você tiver outro disco rígido ou partição, você pode tentar movendo seu arquivo de paginação para outra unidade para obter mais espaço antes de executar a desfragmentação. Você pode movê-lo de volta para a unidade atual depois de ter sido desfragmentado corretamente
Um mapeador de árvore de disco foi mencionado nos comentários para procurar arquivos grandes. O WinDirStat (também gratuito e portátil) faz exatamente isso. Ele indexa todos os arquivos em seu diretório especificado e os classifica por tamanho, para que você possa ver o que consome a maior parte do seu espaço.