Você não pode melhorar a taxa de compactação, sem descompactar os dados. Você não precisa extrair todos os arquivos zip antes de compactá-los, mas eu recomendaria descompactar um arquivo zip inteiro antes de comprimir novamente.
É possível recompactar os arquivos em um arquivo zip um de cada vez e adicioná-los novamente antes de ir para o próximo arquivo contido no arquivo zip. Isso requer N reescreve o arquivo zip para um arquivo zip contendo N arquivos. É muito mais eficiente extrair os N arquivos e gerar o novo zipfile de uma só vez, compactando todos os arquivos com -9
.