What I do wonder is if these market reactions are so automatic and predictable whether there is a way to game them (I'm sure people already do this). It is probably a deterrent to front running on a large scale.
B) Yes, market making HFT are routinely fighting against other HFT that are designed to predict their behavior and make money from them.
The case for allowing it is simple. How do you disallow it without having even worse outcomes. There is quite a bit of evidence that suggests that for the average market participant HFT market makers are a positive not a negative.
Not convinced about that statement about average market participants, also define average market participant and explain where the HFT's profits come from if not other participants.
How do you disallow it?
My initial suggestion was to slow down cancellations so that they take substantially longer than a new trade does to pass through the system. My perception is that it might reduce the visible liquidity/availability but not the real liquidity as much of the visible liquidity disappears when someone tries to trade against it.
Another suggestion would be to move to a single exchange