I live in Krakow and I definitely see AirBnb as the culprit. Students are having a much harder finding housing than before. The situation in Europe is somewhat unique in that there's both a large disparity in nominal income and a large disparity in taxation of alcohol. The cost of a beer at a bar varies from €1 to €10. That creates incentive for people to fly out to places like Prague or Tallinn on the weekend just to get plastered. AirBnb, of course, caters specifically to these "tourists". Quality of the accommodation is unimportant when one's completely shitfaced.
Not sure about the situation in Czechia but in Spain (where I live) I'd say most of it is caused by the fact that jobs have moved to the big cities to the point where there's nothing left to do in small/mid-sized towns. Personally I blame shopping centres (which have destroyed most small stores in every town they've settled in, and don't require as many active people) and cheap production in Eastern Europe and China (which has destroyed the secondary sector).