Stupid is fine but it should be used to describe actions not a person as a whole. Everyone does stupid things from time to time, some just much more than others :)
My favorite phrase: "bless their heart.."
I dont believe anyone should regard another as stupid or even state it. Why cant it be accepted? Isnt this just a form of snobbery? oneupmanship?
One who is lacking in intellect.
Challenged. No, that one is used to described someone who has difficulty, either mentally or physically. Stupid can be done by people who are brilliant, but have no common sense. I don't know. I really hate the word. I usually say silly, instead of stupid.
I use a phrase, not a word... I'll often say "They aren't the brightest crayon in the box"
"he/she just don't know yet"
Little stupid. ;)