I think pretty much everyone accepts the government killed passenger rail. It's not just what you mention, but also state support for suburbanization and the running down of Urban areas, including effective bans on Urban redevelopment (well meant but poorly thought out "parking mandates" effectively made it prohibitively expensive to redevelop land in cities), leading to the flight out of cities to areas where car ownership was mandatory.
As far as Amtrak losing money on food service, despite it becoming a right-wing meme that this true, it's dubious at best. Amtrak doesn't charge enough for food to cover the costs of providing it, but that's normal, both commercial services - even pre-1950s when most passenger services were profitable - and government provided services generally don't expect to make their money from charges for food.
What makes food service profitable is that passengers ride the train that otherwise wouldn't. Tell Amtrak to discontinue food service, and it would destroy ridership on their already poorly performing long distance services. The subsidy needed to continue operating them would skyrocket, and would be immensely high per-passenger.
This wouldn't even be an argument but for some stupid politics in the 1980s, where Congress started to micromanage the service and decided, despite the fact no commercial railroad would dream of doing such a thing, to demand Amtrak make food service "pay" for itself out of food service charges, rather than be paid for in part through ticket revenue.
So why is Amtrak unprofitable?
Amtrak's actually pretty profitable in one area, the NEC, which is where they control their tracks and were able to build a redundant (that is, a train covering stops already covered by other trains) service that people actually wanted to use, and charge commercial rates for it.
The big problem is outside of that area, it has much less flexibility. It runs very slow (average 40mph) trains that are slow because they stop every 20-30 minutes. Why do they stop every 20-30 minutes?
Want to know? Specifically, why does the SIlver Star stop in both Orlando and Winter Park which are both part of the same metro area?
Answer: because Orlando gives them Corrine Brown's vote when funding comes up in Congress, and Winter Park gets them a (semi-reluctant, he's having to avoid attacks of being a RINO from a strong Tea Party movement) John Mica's vote. And likewise there's a train in, I don't know, the North West that stops every twenty minutes to get votes there too. And each vote crosses over. The votes in the North West are for both the Empire Builder and the Silver Star, you can't vote for one without the other. Brown and Mica's votes are, again, for the Silver Star and the Empire Builder.
Ludicrous? Yes. But we don't have a Congress based upon people deciding the "right" thing to do for the country, we have one based upon people deciding the popular thing for their constituents.
Given enough capital funding, Amtrak could probably do to the rest of the country what it's done to the North East, but it'll never get that funding, because what it needs to do is something that'd involve dropping stops, and thus dropping supporters. The good news is that private railroads are finally taking an interest, and there are projects in both Florida and Texas right now - active, in the process of getting regulatory approval, by companies who own or will own the tracks - to start building what people want to use, not what Congress makes possible.
I'm not blaming Amtrak for this state of affairs. I'm blaming Congress, and by extension, us voters.