When my MIL would come over after our son was born (her only grandchild), she'd have the attitude that I was incompetent. One day she came in while my husband was upstairs changing our son's diaper, and our son just happened to be crying. Once she heard the crying, she came barreling through saying, "Where's that baby?! Grandma's gonna take care of him!" and not in a nice tone, as if we were neglecting him. Every time she's here, she tells me (but not my husband) what to do, from what I need take our son to the doctor for (she insists our son's going to have every issue/affliction her kids did) to what we need to install in our house.
She lives a half-hour away, but rarely comes to visit, even though he is her only grandchild. We would go to her more often but sadly her house is seldom in a state that is safe for a toddler to roam around.
Thankfully her attitude about "having" to take care if him because we were incompetent has changed. First she was humbled one day when she insisted only grandma could quell his crying; she tried and tried but he only cried harder. I'd had enough of trying to appease her, said "No, he needs his momma" and took him from her, and he immediately stopped crying. Then she was humbled again when at only seven months, she realized he was getting too big for her to pick up.
My husband and I already have a history of arguing with her, and at first I would argue. But soon after I realized she wasn't going to listen, I either said "Maybe", "Hmm, we'll think about it" or best yet, a firm flat, "No, we're not doing that." She still tries to tell me what to do, but it's never an argument anymore, because I won't argue. We have also stopped asking her to come visit (my husband's idea). We are still open and accommodating to any and all visits she wants to make to our house or wants us to make to hers. Suddenly not getting any invitations and having to do all the initiating, while it has decreased the frequency of visits, I think it has made her make the most of the time she actually does see her grandchild.
But enough about me! I don't think that suggesting social/volunteering activities will help - she may resent the implication that she has nothing better to do. And it may only help her relationships with the families that live closer to her, because when she comes to visit yours, since she already feels differently about you and your husband, she will probably revert back to the same pattern of criticizing. (How does your husband's brother & sister-in-law feel about how your MIL acts towards you? Perhaps they can be your allies and do the suggestion of social activities. Or better yet, talk to your MIL about how she treats you and your husband.) I think, if it's feasible, you tell your MIL flat out that you welcome her ideas, but not in the way that they are currently being delivered. That you appreciate her concern and suggestions, and may take them into consideration, but the decision is your and your husband's only, and that will be final. And I would even say that you do not want to mar visits with arguments, and want to make the best of the time she has with your son. If she starts up an argument or anything negative, you can even remind her that things are supposed to be happy - then she sill most likely stop and feel bad that she's being the negative one. With hope, she will be conditioned to be on her best behavior so that she and your FIL can best enjoy their time with your son, AND with you and your husband.
You are doing a good thing by trying to make the most out of a bad situation, and taking your in-laws' feelings and needs into consideration. Many people wouldn't, they'd just cut it off. I wish the best for you!