POD that your DH needs to call them ahead of time and get them to commit to an arrival and departure date.
Be honest and tell them that the ambiguity does not work for you and has not worked in the past, and after several visits this way he feels compelled to set these things straight so that this visit is ENJOYABLE FOR EVERYONE. Without this information you can not shop, plan meals and make other scheduled plans, so they need to state their dates NOW.
He should also ask them what kind of food they want. If MIL likes to cook then ask her ahead of time if she would like to make meals herself and if so, how often. What meals, so you can buy the ingredients. If she likes to cook, let her. Give yourself a break. But try to make the plan ahead of time and if they prefer certain food then buy it for them instead of wasting your money on things they won't eat.
For the TV, see if you can fiddle with the settings. Usually there are child-locks on the remotes so you can set certain channels and also volume. See if your TV allows this. Otherwise pull a cable out of the back of one of them and tell them that one is broken and you haven't had a chance to call the cable guy yet.
For the bath, I like the suggestion of leaving small assortment of sample size shampoos for them. Keep your good stuff to yourself. Hide it in your room in a closet until they are gone.
For the broken things, is your FIL handy? Point out the broken things from last time, hand him a tool box and ask if he can fix this while he's visiting because "he's so handy!" Put him to work!
As for the interrupting and rude comments, I say bean dip or ignore. My favorite technique is to make a game out of it. Give yourself points for every rude comment or insult/criticism. Keep a tally and reward yourself when it's all over. The more points you get, the bigger the reward. If you and DH make a game out of it, it could take the edge off of their cloddish ways and turn a negative into a positive. Treat yourself to dinner out, or a present, movie tix, etc. Have different prizes for each points level so that the best prize is for the most points so you can reward yourself well if they really get out of control!
As to their expectations once they are there, keep a shopping list on the fridge and add those items to the list and say "I'm adding it to the list for you. I'll take you to the store later so you can get them, okay?" If possible, try to trick them like saying "Dad, mom said she needs X,Y and Z. I can take you to the store now to get them for her if you want." or vice versa. Put the onus on them. DO NOT let them know you 're going shopping for yourself if possible so they can't entrap you into picking up things for them.