Minha recomendação é usar sublinhados em vez de espaços. Sublinhados são geralmente a convenção que as pessoas usam quando substituem espaços, embora os hífens também estejam bem, eu diria. Mas, como os hifens podem aparecer de outras formas, como palavras hifenizadas, você terá mais sucesso em preservar um valor de nome usando sublinhados. Por exemplo, se você tiver um arquivo chamado "Uma foto tirada em Winston-Salem, NC.jpg" e desejar converter os espaços em sublinhados, poderá preservar o hífen no nome e manter seu significado.
Espaços causam problemas para pessoas que querem usar a linha de comando de maneiras avançadas, como em loops como este:
for file in *.mp3 ; do mpg321 $file -w - | oggenc -o ${file%%.mp3}.ogg - ; done
Se algum dos arquivos de mp3 correspondidos por esse caractere curinga tiver espaços em seu nome, ele fará com que o nome do arquivo seja dividido em seções em vez de todo. Você pode contornar isso alterando a variável IFS do shell BASH ou usando o comando find, mas é um aborrecimento e muitas pessoas não sabem disso, então pode causar problemas.
Eu duvido que isso ou até mesmo uma campanha de adesivos para carros impeça as pessoas de colocar espaços em nomes de arquivos, mas se você quiser ajudar a si mesmo, mais poder para você e obrigado em nome daqueles que se importam.