I like "Flash Boys: Not So Fast" as a corrective.
A much better book, from another HFT skeptic, is "Dark Pools".
The example you provide (of basic, naive latency arbitrage) matters for trading desks at giant investment banks. They make their money in part by selling execution services to giant holders of stock. Major trades by these people (big "blocks" being "shopped") are tradable market news. The giant holders of stock would prefer it if the news didn't get out until after their orders were filled. That's a service people like Katsuyama used to be able to offer his wealthy clients with very little effort on his part. That service has since been automated away, and it bothers him. I guess I'd be bothered too, but I'm not sure why it's moral dilemma.
Front running isn't a technical problem and it has little to do with how fast traders are. It's an agency problem: a broker "front-runs" their client when they receive an order from that client and make proprietary trades against and ahead of it. Random people in the markets don't have an agency relationship with other traders and are under no obligation to avoid competing with them.