This question comes from 2 different scenarios but have the same question in common:
Scenario 1 - When a user wants to upgrade several PCs that are not in the same network (Not on the same LAN) or in different places (Like work, home, friend's home... connected via a VPN or just Internet) or in the worst cases do not have access to the internet at all. In this cases I typically update my PC with the latest and then go to
/var/cache/apt/archives to copy all .deb packages and put them in a pen drive. I then go to any/every other PCs and copy this content to one of the other PCs
var/cache/apt/archives folder to save them time from having to download the exact same stuff or at least the common packages between PCs. This saves, in my case sometimes hours of waiting for an update/upgrade in all of this case scenarios, although it involves me having to move around.
Scenario 2 - Slow connections still exist. A couple of versions ago, there was not problems when doing an repository update, but it is known that some versions ago, the downloadable content to update the repositories grew.. A LOT. In past versions it took a small amount of time to at least Update the repositories. Nowadays it takes way more even with the same internet speed. This affects all users, but specially the ones with DSL connections or slower.
So my questions go in this order of importance (Taking into consideration users from both scenarios):
Is there any way to reduce size and time when doing a repository update?.
Are there any tools that could somehow cache or use multiple connections to speed up repository updates (Like apt-fast)?
Is there any talk for 12.04+ about any modifications to package compression, repository bandwidth or repository management in regards to optimizing speed for repository updates?
Is there a way to only detected the delta from packages and download the difference?