Another thing that could be done is support for HTTP verbs other than GET and POST.
The one thing that I have figured out is that ESRI made a set of choices based on state of the industry at the time. Unfortunately, I never found an article which summarizes this and have only pieced it together over time.
For example, I believe that the reason why HTTP status codes are not supported is because of callbacks. If you have a callback function then it will not be called when an error occurs.
At the 2011 Developer Summit, I heard (for the first time) a speaker discuss why only GET and POST are supported.