From a hazardlib user perspective, I like the idea of having such a validation in hazardlib. Fixing it may not be trivial, and I think it's preferable if a user does it so that he is aware of what geometry he is modeling. What we should have in nrmlib or openquake is a mechanism that reports to the user which source (identified through its ID) is causing a problem.