Seems like a good time to mention my old stand-by: There is no such thing as a labor shortage. There may very well be a shortage of qualified people willing to work under the conditions and for the compensation a company would like to provide. When stated that way you can see that there are several levers to pull, the most obvious being compensation.
But hypothetically, what would you call a situation where 20 companies would all be willing to pay salaries of $1 million/year to fill 10,000 open positions that required 5 years of training, but there are only 5,000 people who have that training? Would that be a "labor shortage"?
It seems your solution works for companies willing to pay more to poach from other companies, but might not work in situations where all of them need more skilled labor now.
Also, the $1M/year illustrates a point...why not $10 million or $100 million/year? At some point, the salaries are indeed "high enough" but the skills still just aren't available to hire.