Why we have riots is because Congress is not doing its job.
Protesters march from late afternoon until well after dark. Most of the rioting occurs after dark. The people have the right to protest. This should not change.
But Congress could regulate protesting for the health and safety of the people. Congress could pass a law to limit the hours to protests. The hours could be from 1 p.m. until 5 p.m. anyone protesting after 5 p.m. would be subject to a $1,000 fine. Anyone pretending to protest after 7 p.m. would be considered a rioter and would pay a $5,000 fine. Congress its time you do your job.