Instead of \everydisplay, \everymath could be used. This applies to gather as well. To avoid coloring of inline math, you could check if you are within gather or align similar to amsmath's own checks.
Complete example:
\documentclass{article}
\usepackage{amsmath,color}
\newcommand*{\eqcolor}{\color{blue}}
\makeatletter
\everymath{%
\ifingather@ \eqcolor%
\else \ifinalign@ \eqcolor
\fi
\fi
}
\makeatother
\begin{document}
\begin{gather*}
1+\cos x
\end{gather*}
\begin{align*}
1+\cos x
\end{align*}
\centering $1 + \cos x$
\end{document}

As you can see, inline math is not colored. Regarding other displayed math: instead of equation or \[ ... \] you could use gather or gather*, respectively. This could be done in the preamble, without changes to equation environments in the text, such as
\let\equation\gather
\let\endequation\endgather