Well firstly most buses won't go directly to El Calafate. You'll likely have to change buses, and likely will want to - it's a long way!
However, a convenient stopping point could be Puerto Madryn (Chubut). It's a great little beach town, with the Valdez Peninsula - and I kid you not - you can sit on the hostel balcony and point at the whales as they come near the shore! Some great seafood restaurants too.
If you're going to consider the bus, consider upgrading from Semi-cama to full-cama or cama-suite or whatever the bus company you choose calls it. Semi-cama is seats that partially recline. However for about $5 more from Puerto Madryn to Buenos Aires (that's the price difference it was for me) you can upgrade to full-cama, which gives you a seat that folds down into a BED, as well as good food, and tv. If you're on a strict budget don't bother, but once I discovered that, wow, it's so much better for the huge trips.
In El Calafate, I also highly recommend the America Del Sur Hostel - it had a spectacular view over the town and Lago Argentina, and you can organise trips to the glacier from their reception (we did a day tour to the glacier - it's spectacular).
Much of the flat part of Argentina is fairly boring scenery, but I liked the coastal route, and once you get into the mountains it's great. You'll spot guanacoes (like llamas) and rhea (like ostrich) and other animals. But I guess it depends on your preference, how you handle seriously-long bus trips, and how much time you have as well.
Look into Andesmar (my favourite), El Rapido (sometimes cheaper), Omnilineas and Plusmar.