Honestly, if I were you, I think I'd surreptitiously try to be there all the time, instead of letting DH be with DS alone in public until DS is 5 or 6. He's just not very safety minded and I see that as worrisome. I guess I don't understand why DH needs to be alone with DS anyway. When my children were little, on the weekends and evenings, we went places together anyway. If we went to a store with a 2 1/2 year old, the 2 1/2 year old was in a stroller or shopping cart, because we knew that we couldn't get anything done with a curious toddler.
The swimming pool, wow, I have a swimming pool and know of many, many toddlers who have died or almost died in swimming pools, with supervision. I'm shocked that your MIL isn't smart enough to institute a "no running" rule. If I were you, I'd say this once, and only once, "If there is not a no running rule here, then DS will not be allowed over here near the pool. End of story."
I'm guessing you all go over to the in-laws every week, as a routine? Is there any way you can start circumventing the routine, planning surprise events on that day, and reduce the "weekly" event, to say, every other week? Seriously, with a mother-in-law who treats you that badly, you should have some amount of veto power to limit visits to their home. Perhaps you can invite them over to your house instead, where you will have more safety, and more control to insist your guests are kind to you. Simply say, "I'm sorry, but you are quite rude to me at your house, so I prefer we all have dinner here." You can also choose to serve no alcohol.

We used to do this when we lived in an area with 4 of my husband's siblings, and would have frequently family get-togethers. They were always nightmares at the other's houses, people getting wasted, fighting, crying, etc., all in front of the children of the family, so we started hosting for EVERYTHING (even though we lived in an 800 sq ft house, yes, picture 24 people for Thanksgiving dinner in a small 2 bedroom, 1 bath house), but we would not serve alcohol and we would make the event short, like 2 1/2 hours, so that no one had time to get really drunk (alcohol they brought) or time to get nasty with eachother. It's interesting that people tend to insult you less when they are in YOUR home, too.

Jellybeans....I admit I'm a little shocked. Jellybeans are a choking hazard and even the American Academy of Pediatrics would say they are a no no. You could print off their recommendations and start abiding by them yourselves and put a copy on your in-laws fridge (tape it there). If your MIL ever gives your child another hard candy or nut or other safety hazard in your presence, you pick your child up and you say "this is a safety hazard. I have asked you not to risk my child's life before, and this time, we are leaving, now." And then you leave. If DH will not support you, you leave without him and they can drive him home or he can take a taxi.
With your DS only 2 1/2, I see years and years of crap ahead for you if you do not stop it NOW. Don't let it continue for another day. You might have to have a serious talk with your DH about this, tell him that you refuse to let this crap go on, and that he needs to be on board with you, protecting you and your child, that he has no choice. I did this with my DH and it really didn't take him much to see my points, and even though he didn't want to stir things with his family, he really did find a way to do it and now we stick together for these instances, and it really helps.

The rest of the extended family quickly learned what we would tolerate and what we wouldn't, and they started to avoid certain behaviors in our presence. They do complain about these things behind our backs, but we really don't care.
Good luck!