Agreed, taking this out on your DH is not right and isn't fair OR resolving the situation.
the only way to tackle this is at source and directly.
Call her out at every crappy comment. tell her that it's not convenient to call to your house before 8.30/9.00--never-- Once you have told her that 7.30 is too early, if she pitches up at that time, don't let her in and tell her to come back. she wants a pissing competition... she has got one. One you will always win.
Tell her that they need to leave at a sensible hour too. If that is what you want.
If she kicks up a fuss (she will) Ignore it. What she wants is what is good for her, and literally bugger everyone else. Your feelings don't matter to her, no-one's feelings matter to her, only hers.
You are going to have to steel yourself.
If your H can't (understandably) tackle this, then YOU can. you will actually be doing HIM a favour.
Stop the intense weekends too. Go and stay somewhere else, pop in to see them, and do your own thing for the rest of the weekend, or simply DON'T go.
IF she has the brass neck to bring this up, tell her that it's because she is so goddamned rude and passive aggressive to you and that it's not something you will tolerate from anyone.
Tell her the rules have changed. that the worm has turned and that it's time for YOU to take over as the matriarch of your family. You won't brook any negotiation of this, your word is final as you have the best interests of your family at heart. State too that seeing as she makes her dislike of you so flaming obvious, that you are sure she will welcome the distance, as you certainly will.