I agree that Jobs should disclose pay upfront before anyone wastes any time. However, quite often pay does not hit the level necessary for me to move from my current role. It is then up to the employer to decide if they want to make the offer better to have me move.
I hold no opinion on whether this is fair is not. Another applicant who is single, low mortgage may end up with more disposable income for less pay and subjectively be "better off" and effectively undercut me and my dependents that I support.
No system is fair. My only personal opinion is that any employee should be able to have representation in employment negotiations. That does not mean just unions, although they work for some, rather they could be a family member or a paid agent.