Never make your kid chose if they're not a teen!! Ever!
And to address what you mentioned above about not wanting to tell your son about his unstable mom, then don't!
Kids do NOT need to know the absolute truth in their parents troubling situations.
When my ex went to jail for his 3rd DUI, I just had a baby, like a week before he went in. I had to address our son, who was 6 at the time, about where dad was. We came up with a story that he was away at some class for work and we couldn't visit him because he was too far away. Even though he worked during the day and we could have visited, I chose not to, because my son would then ask why he could go to his work, but not come home at night. Besides, I think my ex needed a lesson learned at the time and refused to visit him, since he left his family because of complete lack of responsibility. Me with a colicky newborn, and I was not recovering well due to massive stress, and a 6 year old who constantly whined about his dad being gone. He even had the nerve to tell me not to ask his mom to babysit, "because she has enough stress as it is!"
Kids don't need to learn such harsh reality so early in life. It just makes them insecure and scared to leave the sides of either one of you. You want to be able to give a child security, him knowing that you BOTH will be there no matter what. Never badmouth the other parent to the child. It just confuses them and they get frustrated and angry over time at the both of you.