You should first figure out what you want to do in WoW:

1. PVE: run instances and heroics solo
2. PVP: battlegrounds or arena?
3. A mix of the two above
4. Just play around in the world, do quests, world PVP, peel off guys solo to run instances with friends, etc

If you want to do #1, you have to have a tank at high levels (heroics), no real way around that right now. Its easier leveling up a tank with your team than try to shoehorn in one later.

if you want to do battlegrounds or play around, your team comp is great. If you want to do arenas, you may have issues, don't really know enough about hunters to comment but resto shamans are not what I would pick as a heal class in arenas -- possibly priest or druid might work out better.

In general, for most things in wow, you rarely need heals. You can do quests and such and never have to use the heal button, just fight and eat/drink after, especially with a mage tagging along. Its better in that case to have a healer class which is very versatile, such as perhaps a ele shaman (who can still heal as needed in non-instances) or a boomkin druid or even a shadow priest.

If you plan on doing instances by yourself though you will need to think carefully through your team composition, while you can go 1-80 and run instances nonstop with a variety of teams (no tank, offspec healing, etc) you pretty much will need a tank and some sort of heal abilities or a dedicated healer for heroics.