In activities (games, sports, even something academic, whatever), I think "bad" and "inexperienced" should be treated differently. Yes, if you are inexperienced you are "bad" compared to someone else with experience and skill, but not necessarily "bad" compared with the level you should be at if you were experienced. I think of "bad" as more of a case where your skill level is low but your exposure time is high. Like you've been playing for years but haven't improved past the stage of making basic mistakes; i.e., you haven't learned anything. Inexperienced just means you may still yet improve, but you haven't had the time/exposure to get to a higher level.
Now I know it's a bit of an issue of not hurting feelings and people shouldn't be so sensitive, but, hey, being told you suck sucks. It can discourage people that have the potential to become good from becoming good. Some people, though, may have a thick skin and realize that they only suck because they don't know enough and resolve to improve. Others may just get discouraged and quit.
It's probably not a big step to just use different language for this. Just saying "beginner" or "inexperienced" instead of "bad" or "awful" is an improvement, I think.* In my experience, non-native English speakers (and specifically European) tend to be more blunt with these kinds of criticisms. I'm not certain if it's because of different nuances in connotation of the words or because it's more of a cultural norm.
*Though when someone begins to act superior and condescending to others without the skill to back it up, then all politesse is off and they are, indeed, bad