Best way to get real time events?

I want to listen for Transfer events emitted by my ERC721 contract. I've set it up with web3.js on the rinkeby network using Infura as a provider. It works nicely for the first half hour / hour but then it just stops working and does not report the events anymore. I found some issues about this on infura's forum so I'm not alone with this I guess. So my question would be, is there any way I can listen to these events without ever missing one? It's crucial in my app to not miss any. Thanks for any help!