I've been there too. You could try to use WAMP protocol wich is implemented in a project called Crossbar.IO. They provide RPC/PubSub over websockets (or whatever machanism your client side supports). They provide server and backend for not oly Python/JS, I don't know how developed are they compared to the Python one (which seems to be the one that receives more attention alongside node).
It's based on Twisted, but I belive they have something with gevent(and cython) for speed.
One of telegraphy's milestones is to generalize the event tansport in the server side. Redis, ZMQ and other pub/sub libs can offer more flexibility and performance than xmlrpc.
Custom events are easy to implement, though we focused in model events as we wanted something with minimal effort to push data to the client.
The event class only needs to know what the django->gateway transport is (xmlrpc as for now).