If it were me, after so many examples, I'd simply get up and leave, saying, "Sorry all but we need to go NOW." Every time. You cannot get them to discipline differently, partly because they don't share your philosophy, and partly because there's no nice way to say, "You guys suck as parents." You have to minimize the number of times you get together, even if that means telling Grandma and Grandpa that you are unable to attend Dinner X or Holiday Y or Birthday Z.
Part of your problem is that yur husband isn't going to take on his sister - as you noticed during your "little chat." Yes, your BIL ignored you which you feel is dismissive, as if you are 5 years old, but you also lectured them (or at least it seemed that way) about their lousy parenting, which they are going to feel treats them like they are 5 years old too and need to be straightened out by you. I get that their child's behavior is a problem in that they don't intervene. But you know they aren't going to. What you think of as the truth is seen by them as superiority and insults. It's been a year or more. Why do you keep going back into this situation?
If these were not your husband's relatives, you wouldn't get together. You would accept that you have nothing in common and that the kids don't get along. You'd find other play dates and dinner dates. So do that.
Your children are being hurt. Stop putting them in that situation. Maybe on some level the BIL/SIL will eventually figure this out, or maybe their daughter will eventually see that if she pokes someone or has a tantrum that people leave.
We have cousins that we adore 99% of the time. But they had some terrible losses re pregnancies and finally had a child - they cannot bear to see him upset, so they never, ever tell him "no" except for silly stuff like no going into the lake above his ankles or moving more than 5 feet away from them. They are late to everything because, if he doesn't want to get in the car seat, they spend 30 minutes finding something to bribe him with. If he wants to scream during dinner and hit people, they don't say no because he'll whine. He's having problems in preschool and they can't figure out why. There are a few kids in their neighbor but the playdates are affected because he's "aggressive" (the mom's words) and the other kids are not. So, no playing. She's starting to see that he's missing out but it will take a while for it to sink in, and probably 6 months worth of calls from next year's kindergarten teacher that's he's a problem!
So we just turn down invitations and say we'll get together when he's older. If we have to get together but he does his screaming thing, we just put on our coats and take a walk while things cool down. Not judgment, no lectures - just departures. It's actually quite effective. But if I had little kids like you do, I would go home. A friend of mine does that at her friend's home, when the father and the grandmother start with their abusive language and criticism. She just says, "Sorry, I'm taking my children out of this conversation. Bye bye."