By law, all the blood donations in the US have to come from volunteers -- donors are not allowed to sell blood
Then fix the law. I'll give my blood away for free when everyone working at the blood bank and the hospital start working for free as well. Until then, my O-Neg blood is staying where it is. Frankly, it takes balls to ask me to donate when everyone else in the system is in there for the money. Pay people for blood and the shortages will disappear. At least in the US. 3rd world countries may have other institutional problems getting in the way.