Highcharts doesn't prevent from dataLabels overlapping. I have created simple module which prevent's from this, see simple demo: http://jsfiddle.net/menXU/1/
Use module by calling StaggerDataLabels(series);
, where series is array of all series in chart object.
In the fact it's duplicate of this question, but I couldn't report this.