thanks for your questions. The connection between devices and GCM is encrypted via SSL.
The connection between your server and GCM is encrypted via HTTPs.
Please DO encrypt your payload before sending the message to GCM and decrypt it on the device.
It is true that if the device is offline your message will sit for a specified (by you) amount of time up to 4 weeks maximum in Google servers.
That message should be encrypted by your software, therefore unintelligible for Google, which in turns does apply its own encryption before storing it.