I suggest just letting her bring something when it isn't a formal dinner party. I mean, as hosts, we want to make our guests comfortable, right? Well, this makes her comfortable. I know it isn't what you prefer, but you know it's how she rolls, and if you arrange it in advance with her, it won't be such a big deal, just a small accommodation on your part. Like if your specialty soup just isn't as good without chicken stock, but your guest is a vegetarian, so you use vegetable instead.
Then it is easier, when you do have a more formal dinner, to say, "Thanks, Joan, but not this time. You make great salad, but this time I have a special menu planned out, so please don't bring anything this time, because we won't be able to serve it.'