OK, I have something that works and will get my pull request together and merge against the upcoming RSSI feature. It currently looks like this:
unsigned long packetsReceived = Network.ping(IPAddress(10,0,0,2));
//or try 10 times instead of the default 5
unsigned long packetsReceived2 = Network.ping(IPAddress(10,0,0,2), 10);
There are some interesting trade-offs to be made here since the local subnet is very fast (3-5ms round-trip typically) but from where I am to spark.io is 140ms round-trip, so that the timeout value has to be fairly large (500ms). There may be more work to do here to avoid cloud disconnect.
I was able to ping my iOS gizmo on the local subnet and see quick results and then put it in airplane mode and see the zero packetsReceived. I was also able to ping some well-known hosts on the broader internet.
Special thanks to @david_s5 for a boost on this one!