I thought the federal government looked into it a year ago and came to the conclusion that the shortage is caused by pay.
If you want to fix the shortage, for the long term, get rid of the regional airlines. Their model doesn't work with high compensation, and it's their purpose in life to keep wages low to maximize their competitiveness with their major partners...
So, my suggestion would be for ALPA to negotiate wages for smaller airplanes, and realize that every regional pilot they employee at the major airlines breeds more job security for the major, and stability for the industry.