The real problem here is that the way the current system is set up, you have to prove that there are no citizens available for a position by listing a job and interviewing candidates. The problem with that is that you will never be able to prove that by this method. Say you have 1000 jobs for a specific role in the economy and 700 US citizens qualified to do that job and are already employed. The minute you try to file PERM for the 1 foreign national, if you list the job out, the chances of at least 1 person applying out of the 700 are very high because, you know, people change jobs. This puts companies and immigrants in a very difficult position because you literally cannot prove the shortage at an industry level on your own using this method. So they just have to resort to working within the laws to make it work.
This all would be completely unnecessary if congress fixes the immigration laws and asks BLS to setup market tests that are data driven to establish high demand roles.