Yeah, I've been searching for a collision for like 3 years now, not a single one.

I would think that Electrum would be far less efficient than a purpose-made application that simply has a set datastructure designed for fast contains() operations containing all addresses with non-dust amounts (by searching the chain) attached to an iterated key generator would increase your efficiency (still extremely futile and not likely at all to find any collisions). Remember that people actually use the Electrum servers for real transactions they need to send and receive.
I am running a special made script through Electrum Python console that generates random Bitcoin addresses and then checks the balance on my local Insight server.
If an address has a totalReceived balance then it adds the address to the wallet using importprivkey(), will also send a pushbullet notification to my phone/laptop.
I still haven't implemented what I will do if I find a balance but I want to sign a message telling people where to contact me if this was their address.
If they sign back then I will refund the balance to an address of their choice as I don't intend on stealing from people.
It's well known that the odds of finding a collision are not favorable but I like challenges so I am destined to find one.
I should actually be counting how many addresses I have search so if I do happen to find one I will have a ratio to share.
I've been thinking about using machine learning to see if I can find a pattern in the key generation but I need to read more and I don't think there is enough storage to get even close to the amount of data I need to find a pattern.