I like your "TIMTOWTDI" with the "fmt=json" parameter in the URL and "GET .../foo.json" extension. Just also get it from the standard HTTP "Accept: application/json" header.
I'm not sure how to implement it though. Should I assume that API developers will tell their API users to specify just one pure MIME type in their Accept header?