I'd prefer there not be a law for everything. Sure, my company can fire me for anything but I work for Starwood so under their rules it pretty much takes theft or sexual harassment to be fired on first offense.
At will employment makes things easier on the employer too. Fewer hoops and possible lawsuits, and the ability to clean house as needed without extra steps. I do understand that it may hurt employees but if you want, unions can help fill that void. At least then it's your choice and not forced upon us all (I also happen to live in a right-to-work state)