I use a bit of an unorthodox method for my helicopter insertions, but it works perfectly. It's all done using waypoints. It only works when you're the team leader of the team being inserted.
1.Firstly I assign my team as cargo to the helicopter using something like "[_x moveincargo helo] for each units group this", in the team leaders init section, with helo being the name of the helicopter.
2. Next, set the helicopters waypoints to where you want it to go, I usually have it flying low to add some realism. Use "helo flyinheight 20" in the waypoint init field.
3. The landing is a series of waypoints. I set the speed to limited when it reaches the landing zone and then set the delay timer on the waypoint to something like 10 seconds. This allows the helicopter to virtually come to a stop in the air, I then set the helicopters flyinheight to 3. Again, using the waypoint timer just to make sure the helicopter has come to a stop, something like 6 or 7 seconds usually does it. Once the helicopter has touched down to 3, I use the eject command to make the team jump out. I type, "UNITSNAME action ["eject", helo]", this has to be done with all the team members that you want to jump out. Make sure you use the timer on the waypoint again otherwise they'll jump out before it's low enough. Finally, set the helicopters flyinheight back to 20 and speed to full and off she goes! All of the commands are typed in the waypoints init field. You'll probably end up with 4 or 5 waypoints at the landing zone, make sure they're all directly on top of each other.
I know it's a bit long winded but I find it looks good, basically because the helicopter flys in, drops so it's just touching the ground, the team jump out, and then it's gone. No flying around in big circles or messing about.
You might have to play around with the flyinheight and waypoint timers to get it just right for your mission.
Hope this helps.
EDIT.
Forgot to mention. All the waypoints should just be the MOVE waypoints. No need to use unload etc.