Rooms on the Cardinal are always outrageous. During the summer, 'through the roof' is far more descriptive, if any rooms are available. About the only time there's a reasonable roomette cost on the Cardinal is at least 5 months in the future.
I just fiddled around with the Amtrak website and tried Charlottesville VA (CVS) as a destination. Charlottesville has multiple trains stopping there vs Staunton having only the Cardinal as an option. Charlottesville is the next stop on the Cardinal from Staunton. That way, various options with the Capitol Ltd which has various connections to Charlottesville are offered, saving more than $100 each way for 8/1. And one option, taking the bus from East Lansing to meet the Capitol Ltd will save even more money. So, if you have a friend or relative willing to drive the 39 miles from Staunton to Charlottesville, you'll save a bundle!
About a week ago, I did a Cardinal Amtrak trip going east from Chicago to Culpeper, VA. Going back, I went with my family in the car back to Chicago. Anyway, I looked into a sleeper, and considering it was about $330 more(and you're right about Card sleeper prices being outrageous, especially considering it doesn't have a full service dining car), I opted against doing that. Plus another dealbreaker was that it doesn't have a full service dining car, a la the Empire Builder, California Zephyr, etc. Plus considering the cafe car on the Cardinal, it really annoyed me how many food items that car ran out of by the time the train was east of Charleston, WV.
Honestly, I was pretty comfortable riding in coach for about 22 hours, and the inflatable pillow I got was enough to get myself to sleep between Cincinnati and Ashland, KY. LOL, somehow I did wake up to take a brief look out the window when we hit Maysville, KY, and South Shore, KY(across the river from Portsmouth, OH).
If I was that guest, I'd just try to bring an inflatable pillow on that train trip, and ride the Cardinal in coach. It only was $98 from Chicago to Culpeper, so I'm sure it'd be a little cheaper and a few hours shorter to get to Staunton. And as someone who's visited Staunton before, you'd have a great time if you ever visited that town yourself!
Two last pro-tips about food: FOR SURE you should have a good meal before getting on the Cardinal(went to Revival Food Hall in Chicago myself before boarding train 50, but honestly do something similar for WHICHEVER city/town you board the Cardinal from), and save some of that food from that meal as leftovers to eat on the train. Also bring some small snacks like granola bars, a small drink like a fruit smoothie, to tide you over in case the cafe car runs out of a lot of food items. Which to be honest, sadly I noticed this even before 50 arrived into Charleston, WV. Also, TAKE ADVANTAGE of that long stretch/smoke stop in Indianapolis. There are vending machines if you walk downstairs into the station, and if the train gets in early enough, one could pull off walking to the 24/7 White Castle(kitty corner away from the station) to get some food to go, if they were quick about doing such a trip to there. I just opted to use the vending machine since I did a quick smoke, and I was starting to think it'd be better to grab something from the vending machine over risking walking to White Castle, and possibly missing my train leaving. Note the Indy station stop is a little longer westbound, than it is eastbound. Still though I was surprised our train got in 10 minutes early, so it was barely short of a 30 minute stop(normally 20 mins). Going west this stop is scheduled for 45 minutes, and the juckins.net site shows train 51 often gets there before 5:15am.