Simple :
http://unlagged.com/ At the beginning, Unlagged was a mod.
Long time I haven't look at the code, but the simpliest way to fix it is to store in the trace the id of the entity that have shot, then bypass the hitscan for that entity.
For the too many trace issue, I think a trace should end when the damage it could inflict fall under 1. For instance, a trace end only when it collide with a stone wall or something unpassable, or when it is at its 100th iteration. Most of time, after passing through 2 wood wall (and sometime only 1), a trace don't inflict any damage, so calculating next iterations is a pure waste of CPU (and it's non-sensical, a bullet without damage capability is a bullet which have stopped to fly).
EDIT : for Unlagged, this link is better :
http://ra.is/unlagged/