Custom accept headers

Shouldn't Rails coerce these new almost standart headers to application/json and applicatioin/xml (for previous example) ?

No, because 'application/vnd.foo-v1+json' is not 'application/json.' The "+foo" convention was actually introduced in RFC3023, specifically for XML formats. But it's only a convention, as the RFC says:

A.13 What is the semantic difference between application/foo and      application/foo+xml?

  MIME processors that are unaware of XML will treat the '+xml' suffix   as completely opaque, so it is essential that no extra semantics be   assigned to its presence. Therefore, application/foo and application/foo+xml SHOULD be treated as completely independent media   types. Although, for example, text/calendar+xml could be an XML   version of text/calendar[RFC2445], it is possible that this   (hypothetical) new media type would include new semantics as well as   new syntax, and in any case, there would be many applications that   support text/calendar but had not yet been upgraded to support   text/calendar+xml.

Making it work with respond_to :"vnd.foo-v1+json" seems fine, though.