There shouldn't be a deliberate attempt to separate friends at the primary school level - there's no need really. After the first couple of years of high school, after choosing subjects, it's different people in every class anyway. Or at least it was when I was at school.
Dividing according to ability is essential. For example, in my final primary school year (age 10/11), the "top" group (my group, of course

...) was doing 2nd year high school level work whereas the "bottom" group was still struggling with some aspects of basic literacy.
There's a huge gap in natural ability level and you can't ignore that. It'll push the "behind" kids too hard and leave the brightest kids bored, and that boredom leads to a general distaste for academia. Both fall through the cracks. Its only good for the "average" child and we're in serious trouble when we start only shooting for the glorious heights of "average".
As for "teaching life skills" - there was a social / sex education class once a week when I was at school. It was pretty useless, but it existed. It could probably do with an overhaul to make it more practical, it's shocking how many 18 year olds (even clever ones) leave school with little to no understanding of how to manage household bills, the implications of debt, what APR means, how to operate a bank account properly... Etc. A lot of what we learned in Social Ed was pretty useless and in need of modernising. Though that was 10 to 15 years ago (

)... No idea what its like now. I do think it should always be taught by someone young, though, preferably just a few years out of University (so under 30). Older generations simply do not understand the day to day lives of the current generation of teenagers, younger teachers stand more of a chance.