SignalR does offer PersistentConnection functionality that is less involved than the Hubs API. However, I had to search quite hard to find the documentation on it - they're clearly pushing Hubs.
Alternative .NET options that I know of are XSockets who offer a PubSub mechanism. They're actively developing their solution.
I'm not sure of any solutions that 100% guarantee message delivery so you may need to add your own acknowledgement messaging into the solution you choose.
Also see:
The best way to determine the one with the lowest overhead would be to write a simple app for each and measure memory and CPU usage, and also message latency.