I think there is nothing you can do to change her. However, people like that surprisingly back down if someone takes a strong (not raging, but calm and strong) stand against their behavior. I would do it with the three of you (you, her and your husband) alone, so she can have the chance to save face. Tell her that you want her in your lives and may like her help occasionally, but there has to be definite boundaries, and lay down what those are. You are the parents, no one else, and you and your husband alone are responsible for how your kids turn out. So you get to make the decisions. When grandma's opinion or help is wanted, you will ask. If she can't respect that, then she may have to leave for the day - something like that.
I went through this with my stepfather and my grandmother - these were separate situations (she lives across the country so I don't see her much, thank God). It was difficult and painful, but I stood up to them. They argued for awhile and let me know just how much they were displeased, but they stopped. I let them say what they wanted to me and I remained quiet, except to say what WOULD NOT happen when my kids are around. (That was hard - I wanted to scream.) I followed through too (not the screaming). It (the problems) happened when we were at their houses, so I took my kids and either left the house or left to the other end of the house each time it happened. The behavior did stop and I feel a new sense of power. They were quite intimidating people - until now. Good luck to you. You can do it.