nginx mime types and gzip

It uses the old deprecated application/x-javascript, and I imagine that it's to ensure IE support... but is it really ok?

Well, no:

Changes with nginx 1.5.4                                         27 Aug 2013

*) Change: the "js" extension MIME type has been changed to
   "application/javascript"; default value of the "charset_types"
   directive was changed accordingly.

Should I also include application/json?

Why not? The default mime.types file from nginx only contains MIME types for more or less common file extensions. And it certainly isn't very common to have json static files.

Also, what types should be gzipped?

You may include MIME types for all well compressible content that you have on your site. But for static files it will be better to use gzip static module.