I can't really talk much about what it's like on normal since I don't think I've done it on normal, but as far as heroic goes, the key is patience (unless you're doing the Skadi achievements, hehe). What I do is I start the encounter by running directly to the first pillar and place my toons behind it, so they're not hit by the dragon breath foam thingy. Then I just AE the mobs down and pick up what harpoons drop. Catch up by killing the spawing mobs and when you're ready (after just killing the new spawn and the dragon is not about to do the breath) move down to the next pack. Make sure your chars are out of breath range. Rinse and repeat. At the last pack (three harpooners) wait until the right moment and then charge with your tank (I use avengers shield to pick up aggro). Then move you team so theyre standing between two harpoons with their back to the wall. That way they won't be hit by dragon breath. Kill the harpooners and throw harpoons at the dragon until he's 1-2 harpoons from death. When all mobs are cleared (just after you killed a spawning pack) throw the last 1-2 harpoons and pull skadi away from the group with your tank. The mobs wont spawn after Skadi has descended. Pull him to max range so you have plenty of reaction time when he's WWing. ONLY USE TAUNT WHEN HE'S WWing! :-)

Follow those lines and you should be fine. Just be patient when moving down the hallway and keep aggro on your tank. Alternately you can use the respawn-trick, but that takes some practice as well.