You have to remember that by only allowing monthly subscriptions, they will lose many younger customers who haven't got a means to pay online. Some people can only buy games/renewals via shops.
It's a great altruistic notion to run everything online for free, but the cost of it is actually quite exorbitant, and with data centre space running at ever more a premium prices are going up. If you think you've got to provide rack space, power, air con, 24x7 staff coverage, support teams etc. etc, its not going to be long until you start to make a loss. A lot of games like FPSs (e.g. CS:S, Battlefield 1942 etc. etc.) and the like are fine as they rely on third parties to run most of the servers, defraying a lot of the cost.