There are exchanges with batch auctions or batch auction time periods. They don't prevent algorithmic shenanigans in practice, they are some of the most gamed exchanges there are.
Batch auctions in and of themselves do not mitigate latency advantage because the people that propose them never remember 2 things:
1) venue arbitrage - not only does the exchange have to batch all the trades on its book, it has to coordinate that with all the other exchanges.
2) tiebreakers - if in a given auction you have more people on 1 side of a price than on the other (more people offering to buy at x than people willing to sell for instance) who gets to trade?