No puede mejorar la relación de compresión sin descomprimir los datos. No es necesario que extraiga todos los archivos zip antes de comprimirlos, pero recomendaría descomprimir un archivo zip completo antes de volver a comprimirlo.
Es posible volver a comprimir los archivos en un archivo zip de uno en uno y volver a agregarlos antes de pasar al siguiente archivo contenido en el archivo zip. Esto requiere N reescrituras del archivo zip para un archivo zip que contiene N archivos. Es mucho más eficiente extraer los archivos N y generar el nuevo archivo zip de una sola vez, comprimiendo todos los archivos con -9
.
Hay una utilidad llamada AdvanceCOMP que hace exactamente lo que estás buscando. Recomprime archivos ZIP y GZ (y algunos otros) sin extracción intermediaria a disco. (Creo que el mecanismo utilizado es descomprimir los datos y volver a comprimirlos, pero eso no requiere escribir archivos en el disco ni regenerar metadatos).