Yes, but the Supreme Court is suppose to strike down bad laws, and this is a bad law.
No. It is the Supreme Court's job to determine whether or not a law is constitutional, not whether or not it's good or bad law.
Bad law? Absolutely. Bad laws are what we get when our fellow countrymen elect Democrats. But is it constitutional? Five Justices appear to believe it is.