This would probably take a Constitutional Amendment, but I think it’s worth it, considering the possibility that Trump could pardon all of the insurrectionists (or some future President could try the same stunt). The thinking behind this amendment is that the President’s pardon power makes insurrections launched by the President, or to his political benefit, difficult to properly punish. Fun fact: this doesn’t violate double jeopardy because, even if there was only one act, the prosecution is for the offense done to each sovereign power. That is, it is already the case that someone can be tried federally and at the state level for the same act if it is illegal at both levels.
Each State reserves the right to pass laws making insurrection against the United States government a criminal offense, regardless of where the insurrection took place. Such laws shall only be applicable when at least one of the following obtains: both houses of Congress declare an event to be an insurrection,
60 percent of state legislatures declare an event to be an insurrection, or
the legislature in the state where the event took place declares it to be an insurrection by a 75% majority.
This way a President launched insurrection would need very broad support to make it pardonable, so broad that he wouldn’t need to launch a insurrection. It is also intentionally made difficult to do so that you don’t have a legislature in one state declaring a protest in another state to be an insurrection.