I'm from St. Louis, so while acknowledging some pretty obvious bias, I'd argue that the decline of rust-belt cities has been totally misunderstood, and a lot of it has to do with a pretty simple accounting error. Many of these old cities have narrow urban municipal borders and what happened is that as the cities grew beyond these borders their statistical presentation disconnected from the actual reality of what it's like to live there.
For example, "St. Louis" (as in the city itself) consists only of the innermost 62 sq/mi of the St. Louis metro area.
This has numerous perception-distorting effects:
1. First of all, there's raw size. The region has 2.8 million people. It's much bigger than, say, Austin, Portland, or San Antonio, but you wouldn't know that from a list of the country's biggest cities. This is entirely an artifact of how the municipal boundaries are drawn. In every meaningful way, St. Louis is bigger. These rust-belt cities didn't "lose" as many people as you think. Those people just moved slightly out from the core across across arbitrary municipal borders.
2. Second, because of how the city developed, most of region's poorest people live within those core-city boundaries, so the region appears much poorer than it really is, which generates a chorus of statements like, "I'd move to the Midwest, but there are no jobs." The region's median household income is $62,790. It's $78,478 in NYC. Do you think the cost of living difference between the two is only $16k per year? It most definitely is not.
3. Related to the second point: because nearly all the violent crime in St. Louis occurs in a handful of neighborhoods in the core city and because most of the region is not included in those statistics, the region also appears much more dangerous than it actually is. The crime in those neighborhoods is a tragedy and a serious problem, but the way we do the statistical accounting makes the region appear to be much more dangerous than other regions that more or less have the exact same crime patterns. You are not less safe in most parts of St. Louis than in other similarly-sized metros.
This country is full of people who are discounting places they'd likely be very happy living in. The antidote is to always normalize regional comparisons. You can use MSAs or urban agglomerations or whatever floats your boat. But what you should basically never use are political designations, which are arbitrary, historically-contingent, and generally not very useful.