Re: You lazy bones/You're a lazy bones
I just want to say that the question itself makes me sad. I would never, EVER say "You are stupid" to my children, or "You idiot!" as a way to address them.
More to the point:
The reason you can say "You genius!" but not "You smart" is that genius, lazy bones, smart ass, idiot, etc. are all nouns. I have seen many English learns say "He is a stupid" but that is wrong - "stupid" is only an adjective, not a noun.
There are hundreds of things you you can say after "you" in this manner: You miracle worker, you! You prince! You clever boy! You naughty kitten! (Yes, I talk to my cats.)
I'm not a teacher, but I write for a living. Please don't ask me about 2nd conditionals, but I'm a safe bet for what reads well in (American) English.