I’m following your projects for a long time and I just stumbled upon this thread. I am a developer at faforever.com (Supreme Commander Forged Alliance community).
We have a comparable issue with mod repository versioning. As a solution I developed a software called BiReUS. It creates binary patches using the bsdiff4 algorithm and is also capable of handling zip-files (extract, compare, generate patch --> extract, apply and zip again). It is developed in Python 3.x. The server part works like any unix cli tool generating the patches after you copied a new version into the repository folder. The files need to be serverd by an http server.
The client has a git-like interface but can also be embedded as a library. The client compares checksums before and after patching to ensure nothing went wrong.
We are not using it in our main client yet, because it did not made the transition to Python 3, so there is no productive experience yet, but I tested it succesfully on our cores repository (around 50 versions, patches between 200kb to 40mb depending on the changes between).
You can find it in my git repository under github.com/Brutus5000/BiReUS , there is also a basic Qt-based launcher application and a Java client library
If you are interested, but have additional requirements, I am sure we can find a solution for that as well.