Ah, yes, keeping the server connections open would be a perfectly fine alternative. Ie, instead of reusing my four connections to server A, open an additional four connections to server B (and presumably four more to server C ...), and don't disconnect any of them until the end. But I think that method might be more effort to implement programmatically, having to keep track of the connection synchronizations. Also, if someone had server B configured as a backup for two active primary servers, that would require opening eight concurrent connections to B, which might not be possible.
The main problem I'm trying to deal with is the constant connections and disconnections, which after a while cause the servers to get confused and start refusing connections entirely ("too many connections from this host").