This sounds absolutely brutal.
Though as window sitter, I almost always use the restroom before a flight so I don't have to use the lav, even for transcon flights.
And when they start passing around the drinks, I usually take the soda can and put it in my backpack, saving it for later when I put it in the hotel fridge. Instead, I just drink the smaller glass of water they pass out after the main refreshment service.