I have found that stupidity is usually in the eye of the beholder. Lack of knowledge is out there for sure. But many who are accused of stupidity are only "stupid" because they don't do things in the same way as, or agree with, the person labeling them.
With lack of knowledge, a polite explanation is usually enough for them to learn. They may not show it right then, but the next time they go to do it, they will remember those words and try it (when they don't feel the "threat" of embarrassment) hanging over them.
When it's the latter type of "stupid", then no there is nothing to be done unless YOU can learn to accept that your opinion is not the only one and that others have their own ideas, beliefs, opinions.
Therefore, I choose to be polite to people and assume they are just lacking knowledge. If I get to know them and find that they are too stubborn to learn from others, then I call them idiots. No one is really stupid.