Eu recomendaria alcançar o objetivo simplesmente excluindo arquivos desnecessários. Exemplo:
rsync -ahPruvz --exclude=Thumbs.db --exclude='target/' --exclude='/home/*/.cache/' --exclude='/home/*/Downloads/' A B
Thumbs.db
é o arquivo de lixo comum que você mencionou. target/
é um diretório de saída comum para ferramentas de construção (java, rust etc). .cache
é um local comum para armazenar arquivos de cache, que geralmente não precisam de backup. E assim por diante, apenas mencione os arquivos que incomodam você. Você verá seu diff se você executar o rsync duas vezes.
Embora isso não pareça uma solução ideal, funciona na prática. A diferença para os arquivos de lixo geralmente fica abaixo de < 1 Mb depois de limpar os arquivos mais gordos.