All new laws should be given a trial period where the lawmakers are forced to live with them for 90 days before the public is subjected to them. At any time during that period lawmakers can change their vote.
In addition there should be pretty specific criteria to determine if the law is successful or not. After 90 days it can be evaluated, and either rolled back or extended