This is how I'd solve the Kangaskhan problem:
First I introduce a new stage in the line:
Kanganile
A female Kanganile evolves when breeding
which means it evolves after you put it in the daycare with a monster egg-group male pokemon, at the point when an egg would be normally produced.
You then take your, now, Kangaskhan back and it would have the baby in it's pouch, it would have the old stats and learnset etc., that's now called the Parent Forme Kangaskhan.
(In terms of programming, this Kangaskhan would now hold data for 2 pokemon, 1st being the data of itself as it had as Kanganile, and the 2nd being generated upon evolution (like eggs, maybe inheriting ability from parents and all that).
If you then raise the baby's happiness high enough, while having space in your party and any pokeball with you, 2 things happen:
-Kangaskhan turns into Separate Forme, getting slightly better stats in speed and attack, regaining it's secondary Ground type, and not having the baby anymore
-The baby evolves into Kanganile, becoming an individual poke.