Our kids are living in an obesogenic environment. They are also not moving enough.
The combination is a nightmare.
My DS has a tendency to put on weight along with having ASD and ADHD which both make him very impulsive about eating, being a teenager his food choices are shite 
The only answer is to ensure he moves more (I've upped the swimming) and watch the kinds of food we bring into the house. So we have loads of fruit and veg, we also have very processed stuff which I tend to encourage as part of meals...if he wants to snack in between I suggest fruit.
It's kept his weight pretty stable
I ignore BMI which is a pretty narrow measure of health and do hip/waist ratio measurements instead.
For kids eating horrendous amounts of snacks then the 100 cal snacks twice a day is a start. It's not the only way though.