Frameworks
There are core concepts - we choose what we come here to experience.
There has to be a person for every role that you need filled. Every person you encounter in just a part of the experience that you are mirroring out. Whether there role is to be your friend, your partner, your enemy, to show you loss, to rob you. Some people have roles to show you what you don't want to experience this time around.
There is value in every role. I would encourage that we learn to realize and appreciate each of those roles and the value it's brought to your life. When you judge someone for the decisions they make in their life then you are being disrespectful to the lessons they came here to learn.
We all have to make mistakes in order to learn. And if you don't learn then it will be repeated in a similar fashion until you do. When you begin to reflect in what the lessons were that was being offered to you from that experience then you begin to release that pattern freeing yourself up for the next experience with a new lesson.
We as humans hold onto people in our life instead of appreciating what they came into our life to provide. Sometimes we are the teachers, sometimes we are the students in these encounters. Both are equally important in their value. Not everyone will remain in your same frequency as you attune to your higher vibrations. Give them love as they continue in their course and you continue down yours. The process is quite beautiful when you adjust your prespectives of these challenges and encounters to one of respect and gratitude for all experiences and all beings.