How to handle too many inserts?
I've seen similar problems addressed by decoupling the app from the central server:


Remote sites install a local SQL Server Express along with the app
Apps talk to the local Express instance. Low latency, good availability.
SQL Server Express uses Service Broker to deliver the updates to the central server
Service Broker handles the network availability, latency etc.
The central server uses Service Broker activation to modify the destination tables based on the updates received from the remote sites.


This way you can handle transparently pretty big backlogs when the sites experience poor network or no network. SSB will take care of the delivery (retry etc) while the remote apps continue to experience local availability times.

SSB isolates your central server data (transactions) from a slow network. There won't be any data locks while the SSB messages are being exchanged, no matter how slow the transfer.

In one incident I know a remote site that was disconnected for 42 days, kept working, and then resumed delivery and pushed all the updated in about 30 minutes once it was reconnected.

See also this presentation for a similar case.