Here is a very early attempt at making transit.511.org not suck so bad.
Error handling is very poor, because scraping errors from the 511 site was getting to be a drag, maybe I will get to it in a future version
For now this works only in san francisco. Type an address that won't fail (ex: 1000 Market St) for start and finish, choose a time of departure/arrival and click submit. (example)
If you want to use this web service style, you can access this script at stephenwoods.net/muni/[xml|json]?[params], using the same query params this page uses.