No, it's not a "fact" that people should be punished for breaking stupid laws.
Gay people who live in states where anti-sodomy laws haven't been repealed shouldn't be punished, for example, nor would I expect someone who uses marijuana in the privacy of their own home to be punished when getting drunk is legal.
Victims of unfair punishment should not just "accept" it. The law should be openly ignored until lawmakers find the common sense to change it.
First of all, thanks to
Lawrence v. Texas your example is out of date. Secondly, when one breaks the law, one should do so in full knowledge that the law could be used against them. Martin Luther King Jr. and Mahatma Ghandi were both arrested and convicted for willfully and knowingly violating the law. That's how civil disobedience works. You break the law you consider unjust, and get punished for it. You pay the price for standing up for your beliefs. The idea that one can violate the law and should
get away with it because it is a "stupid law," is not only juvenile, but violates the principle of the rule of law that all successful countries are based on.