Given this notion, competition is a good reason for the existence of multiple exchanges, because it means companies can change which exchanges their shares are traded over. However, it is not a good justification for the fact that trading of the same stock happens on multiple exchanges.
As for the social cost, you do realize that HFT does not come for free to society. At a minimum, society must somehow pay for those well-paying jobs to developers. And what do those developers give back to society? Before you answer, please consider whether you should distinguish between algorithmic trading and HFT. I do believe that algorithmic trading is useful to society (because it can do the job that screaming traders used to do better and cheaper), but the subset of HFT is not useful.
The only things anyone ever seems to be able to answer for HFT two-fold: one, that stock prices change faster, and two, that the spread is smaller. But one point one, nobody in the real economy cares about that, and to point two, the decrease in spread also doesn't matter to anybody in the real economy, because what you really care about there is the fluctuation of the share price over a larger timescale such as one full day. I have not seen any evidence that this fluctuation is affected by HFT in any way.