Not that I have the SWI-Prolog C level skills at present to do this but would a hook for the hash computation on the blob type make sense?
In other works if one creates a new blob type, or for an existing blob type, one can create a custom hash computation that would be faster and lead to less collisions.