Hi Kraner,
Yes, there are way around for both the platform to receive a silent push.
iOS: To make a push silent you need to send "content-available" key with value 1 but you should not send "alert", "sound" and "badge" key. You can send your own custom key-value along with "content-available" key as follows:
{"content-available":1,"message":"Hello to silent push"}
This push will be received silently and you can manage your custom key in the delegate method that will be called when push arrived.
Android: In this case, you have to handle the push received by your self at client side.
You can use above json format here as well but while parsing the json make validation before generating notfication on the basis of "content-available" in your android service that handles the received push messages. When the json has "content-available" key with value 1, dont generate the push notification.
Let us know if you have further queries.