My LEGO Friends minifigs are just fine. Their hair doesn't come off that easy. Perhaps there is some difference in the mould and you ended up with some loose ones? It happends to regular minifigs too where the hair/helmet fits very loose or very tight. You could put a little bit of tacky-glue (blu-tack) inside the hair pieces to keep them on while still being able to remove/change them.
Also, I have to ask; are these minifigs directly from LEGO? There has been some sellers on eBay selling knock-off Friends minifigs from China. At first glance they look just like the real thing, but they are of lesser quality.