Say the word jury nullification and people say they can’t do it. Say state nullification and people will say it is a no-go. The reason for this is that the fear that most people have of the government will punish them prevents them from doing this on their own.
It would be nice if we lived in a world where people regularly had the courage to defy their government when it is acting unjustly or unconstitutionally but we live in the real world where such courage is rare. Those who believe in these concepts have to accept the idea that people are not going to risk their lives, liberty, and property when attempting to disobey the government. There has to be a legal path for these things in order for the average person to use them.
That path is to combine the best of both ideas by establishing rules for the lower courts that allows any juror (or judge) to vote not-guilty when the federal law in question has been nullified by the state. These powers over the lower courts exist in the constitution because the federal congress has the power to establish and ordain all lower courts to the supreme court which coincidentally gives powers to write rules of how those courts should operate.
Congress can simply establish this as a possible defense for the accused which would make it possible for any defense attorney to point out that the state has declared the law in question null and void. A judge would then be forced to declare the accused not-guilty and every juror would have to vote not-guilty when the law in question has been nullified by the state where the crime has taken place. This would make it impossible for the federal government to prosecute anyone in a state that has declared the law null and void.