I completely agree. Just let the market be. Trying to optimize it will just create other unforeseen consequences.
A normal part of an interview process is discussing salary, and if they won't give an answer then you know they are not trying to be competitive and it's not worth continuing the process.
Fair point, however there is so, so much that is ambiguous and indeterminate. Some jobs, let's say line-chef or administrative assistant where roles are very clear and variance between a individuals is relatively low, often do have salaries or wages stated up front. In the line of work I'm familiar with, hiring developers is Pandora's Box - you have absolutely no idea what it's going to be like a year down the road. I've worked at startups, big tech companies, research labs - at absolutely none of those places did the work I end up doing match the specific requisition I had applied to. Furthermore, in almost all cases each staff member has an extremely unique specialty that do drastically different work - despite having the same job title and classification.
Edit: Also, when a company does not disclose the salary range for the position it actually provides a very useful data point., You can pretty much be sure it's at most average -- but probably less-than-competetive -- market rates. The major and popular tech companies don't need to do this because they have a reputation, but the smaller companies can either show they too are competitive (by publishing above-market rates) or show they do not offer competitive salary (by not publishing their salary target).
Yeah, this is like a market where you need to enter the shop, stand in a long line, and only at the cash register you are told how much the items cost. If you think they are too expensive, feel free to try your luck at the next shop, and if the day is long enough you might even try three or four shops. Great for people who have enough vacation days!
A normal part of an interview process is discussing salary, and if they won't give an answer then you know they are not trying to be competitive and it's not worth continuing the process.