One of the problems with reincarnation is that the number of people in the world is going up, not down. If there are X souls in the universe which all get their turn on the wheel of life until they reach perfection, you’d expect the number of people to be going down as a few of them slowly become perfect.
So, my thought is that maybe reincarnation works in reverse timewise. If you don’t reach perfect, you move back in time, and get a new life that will end when your current one begins.
Assume that the human race ends in a galaxy wide civilization of untold zillions with almost limitless technology and knowledge. A great many figure out how to be perfect while living in this easy time to live, but a some don’t and are thrown ‘back’ in time to live until when their previous lives’ began, and so on.
The current world population is just under 6.8 billion and when I was born it was around 3.5 billion. That means that a lot of people are still figuring things out at a really good rate. This means that your chances are reaching perfection in the next few lives are truly excellent. Of course, if you don’t figure things out pretty soon, you may be one of the very few who repeats things for many thousands more (very short) lives as a caveman back until the beginning of the species.
Maybe I should found a religion?