My answer would be change the rules. Permit refs to award free-kicks if silly ballix is going on with the option of another scrum forbidden; make it a free kick to the defending team if the balls lying in the tunnel with the scrum not moving; also, encourage refs to call use it the moment it reaches the back of the scrum and there's the slightest pause in momentum.
I like the scrum but the current iteration is madness and that's because, as you mention, penalties > back moves. Either you have to change the value of a penalty, or change how difficult it is to get a penalty out of the scrum.