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.