There are numerous products on the market for this purpose but by far, the best is made by
RiverBed. It analyzes the traffic between the devices and performs a deduplication of the data streams. It is not the same as compression. Compression attempts to remove data whitespace whereas deduplication looks at the bit streams and transmits only the ones that are unique. It already knows of the other ones so it is able to reassemble the data at each end with known data patterns and adding the unique data patterns. We have typically seen increases in performance by over 6 times. For small offices, there are RiverBed devices available that have hard disks in them that act as an onsite file server so that commonly used data is stored locally and in the event of a communications outage, access to the data is still allowed. Once the site-to-site VPN is reconnected, then the stored data is then updated automatically.
We also use the Riverbed Steelhead Mobile which installs a client on laptops. When using VPN to the office via ANY Internet connection, the software performs the same analysis to the RiverBed device on the other side of our VPN device and increases performance for our Mobile Workforce.
The performance of these products is the closest thing to magic that I have seen.