+1 on everything so far. I could only add a couple of comments:
A coach who is willing and able to be frank with you about your sons abilities and the team strength is very valuable. Beware the character who tells you all you want to hear to get you to sign and pay. Ultimately the truth shall prevail. You cannot hide on a baseball field.
Choose the right playing level. We've all seen a lot of kids that get miscast. Mostly its those who end up as small fish in a big pond (overwhelmed, little play time, and confidence wrecked) or get too hung up on winning % and play down, or play down so their kid can always be the team stud. Nor does it matter that little johnnie is a Majors player, or travel world champion, etc at an early age (especially if he burns out or injured). Its how they end up when they mature.
If its a bad coach, or just a bad fit then you need to move on. We personally stayed in a bad scene one season too long because we really liked the other kids and the parents. When the team inevitably blew up, nearly everybody moved to a better situation. My son never lost his love of the game when times were tough, but it took multiple seasons to fully mend some of the damage. Who knows, he may be stronger today because of it. While nothing is perfect, we have too many choices in the big city to stay in a bad fit or be that close to a toxic element.
All this is easier said than done, and can only truly be judged in hindsight. Also as a parent, its hard to be objective, but its key to gauging your sons needs.