i think the solution is to simply change the server to use smaller values. this has the advantage of letting the service provider decide what they think is appropriate for them. 

a ping time of ten seconds is actually somewhat common for vpn providers, afaik. i think we may want to go even lower.

i was going to propose the opposite for android: the client should ignore the server specified values. the reason for this is that constant pings are a big problem for a mobile phone, because it prevents the radio from ever sleeping and eats the battery. plus, on android, there are many other ways to get some of the behavior we are trying to get with a short ping. A short ping, after all, is a crappy hack. 

also on android, there is an openvpn patch to allow sessions to stay alive even when the ip address changes. this is written about somewhere on the crabgrass notes.