Q:

How do I use company-mode in some buffers and auto-complete-mode in others?

My init.el loads company with (global-company-mode). I want to make an exception for Javascript buffers, and instead use auto-complete-mode for that mode. 
Q: I am struggling to find a way to unhook company mode for only a particular mode. How can I do this?

A:

Try this:
(add-hook 'js-mode-hook 'my-javascript-hook)

(defun my-javascript-hook ()
  (company-mode -1)
  (auto-complete-mode 1))

