Just thinking out loud here in terms of potential ways to stem this although perhaps this is futile.
What if HN had a checkbox for ad-hominem and/or off-topic comments?
Check boxing a comment as an ad hominem would add to your "ad hominem" score (separate from karma). Likewise for off-topic. This wouldn't stop a person from posting ad hominem or off-topic comments, but the idea of accumulating points for bad behavior could dissuade (some) people from making too many. Who would want to be branded the off-topic or ad-hominem gal?
Perhaps it wouldn't work -- but at minimum I think it would be an interesting experiment in promoting civility and thoughtful discussion.