There is also binary SMS through carrier network. Normally, carriers should provide either a higher-level API, like SOAP or REST, to push binary data, or it could be SMSC server.
There are other methods but other than simply listing a bunch that may or may not be useful why don't you tell us your requirements and tell us why gcm isn't working for you.