Signal is open source, so you can just fork it to remove the dependency on GCM.
In fact, someone already has, so you can just use it: https://fdroid.eutopia.cz/
In fact, someone already has, so you can just use it: https://fdroid.eutopia.cz/
See https://github.com/LibreSignal/LibreSignal/issues/37 and discussion upthread.