You do have to take into account that the fee doesn't just cover the miner's fee on the transaction but also the cost of administrating the withdrawal system. They need to run servers, put security systems in place for the hot wallet, have a cold wallet, sweep deposits and answer support requests as well.
Even so, they were all quick to put withdrawal fees up so it is good to some reducing them. It would be better if they used dynamic fees like for example Bitfinex.
You are right, running a large exchange isn't cheap but they earn a lot of money on commission. So what's the problem then? There are still many exchanges which force you to pay 0.001 BTC for withdrawal and even a deposit fee (HitBTC). They always introduce new fees quickly but they can't remove them as fast as they have implemented them. Do you happen to know which exchanges have the lowest withdrawal fee? I think I'm going to switch to another one.