Why should I decide up to a year in advance whether I'm going to want to play multiplayer games, or always pay and then be pissed afterwards because I didn't have time to play? Subscriptions suck.
If you're going to charge for multiplayer, here's how you get me on board: charge me $1 per hour and bill me every half a year for what I actually used, capped to $25 so people who play an hour of multiplayer every week or more will pay the same as before.
Also, they should hand out a bit of free multiplayer time to draw people in, especially if they stick with subscription model. Why not give non-subscribers something like two free hours of multiplayer a month? Then when a non-subscriber picks up a new game, they'd probably at least dip their toes in multiplayer, and might eventually find a reason to start subscribing. It's not just the money; it's also the hassle of having to consider and weigh payment options, having to consider whether you have to remember to cancel or they'll keep charging you, etc. Taken together these are enough to stop most mildly curious people in their tracks.
Ultimately, I think the reason they get away with subscription is that only a tiny minority of people looks at total cost when buying something. When I was buying a console the last time, I pretty much considered the 360 as two separate consoles: a $300 console with no online play, and a $550 console with online play.