I say just keep the same two minutes rule at the end of the game and limit it to two to three times a quarter for a player (there's usually only one guy on a team they do hack anyways). Any foul on that player away from the ball after the limit, no matter what the intent, would then be enforced like a flagrant foul, i.e. two shots and the ball, which would take the incentive away. Of course, the hack-a-player could still legitimately be fouled when he had the ball or was near the ball, e.g. setting an on-ball screen.
This would be a way to find a middle ground between the two. It would limit the ridiculous uses of it when teams use it six to seven possessions in a row, but it also wouldn't just blatantly change the game for non-shooting bigs. Those people would still hurt their team for several possessions a quarter by not hitting their free throws, and they could still foul them when they had the ball.
I think this would get at the heart of the matter, which was the blatant overuse of the technique numerous times consecutively. I don't have a problem with it with how someone like Stevens has utilized it, i.e. occasionally to throw off the opponent's rhythm. I don't think he's ever used it more than three times in a row.
You'd also have to outlaw the stupid jump-on-the-back free throw technique. That's just ridiculous.