Um diretório grande pode ser problemático por vários outros motivos além da simples listagem de arquivos. Por um lado, o tempo que leva para abrir um arquivo nesse diretório aumentará porque o diretório deve ser lido até que o arquivo seja encontrado. Em muitos sistemas de arquivos, incluindo ext *, entradas de diretório não organizadas nem otimizadas para eficiência de recuperação.
Respondendo a sua pergunta específica, acho que você vai encontrar usando ls leva algum tempo devido à triagem envolvida. Uma solução é rodar ls unsorted (se houver tal opção em sua distribuição de ls). Especificamente, eu poderia ser desviada para um arquivo e o tipo. Eu então tenho o arquivo para me referir sem ter que fazer outro ls por um tempo.
Outro método semelhante é usar o comando find e listar o conteúdo do diretório em um arquivo (que será não classificado) e, em seguida, ir a partir daí.
Assim, minha sugestão seria baseada na acessibilidade, na eficiência e na fácil localização de arquivos, para usar vários subdiretórios.