Eu procurei por algo que tivesse essa capacidade por algum tempo. O utilitário Info-ZIP é gratuito, baseado em linha de comando, e possui um switch -FS que remove arquivos do arquivo que não existem mais na pasta de origem, além de atualizar arquivos mais recentes. I.E. Sincronização de arquivos ZIP.
link
Nota: O único problema que tenho com esse utilitário é que não há nenhum recurso para especificar explicitamente a pasta de origem como parte dos argumentos da linha de comando. Ele usa o diretório de trabalho atual como a origem. Assim, em um script, você usaria o comando CD para primeiro alterar para o diretório de origem e, em seguida, iniciar o comando ZIP.
Por exemplo:
CD /D D:\Program Settings\Favorites
zip -FS -r -9 -b %Temp% -q -ds 0 "D:\Backup\Favorites.zip" .