While it may sound reasonably possible to allow a downgrade I don't think that's the case. Apple has made this no-downgrade a core rule so that developers can rely on that rule and only worry about building a one-way data migration path for new versions.
So maybe some of your data / configuration has been converted during the move to iOS 6 and now there is no process that can convert them backwards into an iOS5 format.
But that's the case with any software update. So that makes it my responsibility to make and keep a comprehensive backup of my system and app data before I initiate the update, if I want to be able to go back. Either that or I accept the possibility that I'll have to start over with my data. So what? How is that any different than software on a personal computer?
Both of these options (backup or clean start) are burdens I am more than willing to accept and bear in exchange for having the freedom to backlevel my software as I see fit. Apple doesn't need to support people's downgrading efforts (as in, hold their hand, explain how to do it, etc.), but they've gone way beyond "not supporting" it. Going out of your way to develop a system that prevents downgrading? WTF?
I've said this on other forums, so I apologize if it sounds like I'm repeating myself, but the way I look at it is that if Apple is going to insist that I can never, ever reinstall an older version of the OS, then they are absolutely on the hook to deliver 100% bug-free software every single release. That's impossible, even for Apple (:-P). People aren't perfect, and they make mistakes. So it is absolutely imperative that they give their customers an "out" that they can elect to take if a bug or shortcoming of a software update introduces an undue burden for the user, and they need that functionality to work the way it did before while a new version (hopefully with a fix to your problem) is developed, tested/QA'd, and finally shipped. That kind of thing doesn't happen overnight, and it is not reasonable for software companies to expect people to live with certain classes of bugs or other problems while the fix takes 2-3 months to ship.
Enterprise system operators wouldn't stand for that kind of behavior from a vendor; if Cisco has a showstopper regression in their latest code that ends up biting people in the butt, there is NO way an admin worth his salt is going to keep running that version until the fix is in.
Heck, PC users wouldn't stand for that kind of behavior, either: can you imagine the outcry that would have resulted if Microsoft had told everybody who upgraded their PCs that were previously running XP to Vista that they're not allowed to undo the upgrade, even via a format and reinstall? Or what would have happened if, once Vista had been released, Microsoft told people that if anyone still running XP ever needs or wants to perform a clean-install of Windows, they would be forced to install the latest available version of Windows (Vista)? (Technically they could kind of do this if they elected to shut down the product activation servers for XP, but to Microsoft's credit, they have not done so and have shown no indications that they are even thinking about doing this.)
Apple does both of these things with iOS: technical enforcement of downgrade prevention, and also technical enforcement (through the same mechanism) of forced upgrade to the latest version during OS reinstall, regardless of what you're currently running. I find it crazy that people put up with it.