I can't believe I am doing this, from my position of low-paid, insecure employment, bugger-all pension, no expenses, etc etc - but I think the food and drink situation in Westminster is perfectly reasonable.
The Westminster catering outlets - the bars, dining rooms, canteens, coffee stands, cafes - don't just cater to MPs and Lords, but to something like 14k+ staff of all levels and all incomes. A huge proportion of these people will be working long and irregular hours.
The catering outlets also cater to visitors, both in the public cafe and in the dining rooms, etc - these are used for private dining, both hosted by MPs and Lords, and as straight commercial hires during weekends and the recesses.
On the "subsidised" thing. I don't know how anyone would calculate this, as if I was opening a pub in central Westminster, my main cost would be the cost of the premises. Westminster is both an historic, Grade 1-listed, national treasure which is crumbling around their ears, AND a working building. The premises of each catering outlet and bar cannot be assessed on a straight commercial level, because they aren't commercial premises. The staff, too, have exciting things like pensions and sick pay, which isn't exactly universal in the catering industry, which pushes the costs up. And if I was operating my own restaurant or bar in Westminster, I'd only keep it open when I knew it would be busy, and if people needed feeding or watering outside those hours, well, tough shit. Parliament can't do that, because it wouldn't be fair on the people who work the weirdest shifts, so the low-traffic times also push the costs up, too.
Just as an aside: MPs do have to pay for all their meals and drinks in Parliament. They can't claim them on expenses. (They used to be able to claim an evening meal on expenses, up to £15, if the House of Commons sat after a certain time into the evening, but they aren't allowed to do that any more.)
The working hours thing: it's changed a lot in recent years, but lots of people, MPs, Lords and staff, do work really odd hours. For MPs, many are also working in the week very far from their family home, and where their social life during the week is other people from work.
Privacy and security. Plenty of MPs travel by tube, can eat and drink where they like without getting hassled by other people. Others are targetted either by unbalanced people or extremists or just because they are high-profile. I don't think it's unreasonable for them to have the option of a meal and a drink somewhere where they can be reasonably sure that someone won't come at them with a knife or a gun.
Do some MPs and Lords abuse this provision? Yes, of course. But I don't think that means it should be removed altogether.