This logic only applies if the company is trying to take advantage of their employees. Ultimately, it always blows up anyway because employees talk to one another.
From the perspective of a company who is not trying to exploit anybody, having open salaries (or at the very least, open initial salary ranges) benefits everybody: neither companies nor candidates waste time.
From the perspective of a company who is not trying to exploit anybody, having open salaries (or at the very least, open initial salary ranges) benefits everybody: neither companies nor candidates waste time.