We went on a river cruise (Moscow to St. Petersburg) - just short of 2 weeks - a few years ago. You would obviously not want to do one of these in the winter (nor would any be available.) We went on UniWorld although there are numerous companies that do essentially the same cruise. We enjoyed it very much - I had studied Russian very intensively years ago and spent a fair amount of time prior to the trip trying to regain long-dormant language skills.
We paid in US$. I'm sure there are ways to do cruises with Russian companies and pay in rubles but I would think you would then run into language problems as most of the passengers and crew would likely be Russian. (Although, a lot of educated Russians do speak English.)
If you go on a river cruise, you have to get individual visas which are expensive and a bit of a bureaucratic pain to obtain. Good news: when you are not on a group tour you can go places on your own. If you should go on a big ship cruise (like a Baltic cruise) where St. Petersburg is a stop, you will be covered by a blanket visa for the ship for the tours you go on. Good news: you don't have to obtain/pay for a visa. Bad news: you can't wander freely; you can just go on group tours. I don't know if the cruise companies will reduce their prices to take advantage of the falling ruble values. Food is obviously not a problem if you are on a cruise.
BTW, all river cruises in Russia are on Russian ships owned by one of several Russian companies. The ships, in turn, are leased to UniWorld, Viking, etc. Except for 3 - 5 managers from the UniWorld, etc., the crews are all Russian as the lease comes with a full crew. We found all the waiters, cabin attendants, etc. to be very friendly and very nice. Many of them were Russian college students on summer vacation who spoke excellent English. They were very good with me as I tried to use my Russian as much as possible. (The people who actually run the ship are, of course, not college students.)
We had some interaction with Russians off the ship and found most of them friendly but some more like what you've heard about Russians in the old Soviet era - stoic, not particularly friendly and not oriented toward customer service.
I would definitely make the trip again. St. Petersburg is far more impressive than Moscow although Moscow is definitely very interesting. The stops between the two give you a
taste of the country outside the major metropolitan areas.