I used to work on Pusher support and from my time there I know that sometime the stats don't show the spikes in connections, if those spikes are very short lived. You may be able to see them if you zoom into the usage stats in the Pusher dashboard for your app.
The FAQ on half-open connections is the correct one to look at and is potentially the cause of some of your problems.
The ping/pong mechanism you mention is Pusher's solution to this problem. The WebSocket protocol defines this mechanism, see: http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#ping-and-pong-frames
However, not all clients have implemented this so Pusher have added their own ping/pong solution to their protocol: http://pusher.com/docs/pusher_protocol#ping-pong
I don't believe there is anything that you can do to stop these problems occurring, it's a networking issue where closed connections aren't being detected by the server.