While you can redefine [\ to be \begin{align*} and \] to be \end{align*}, it won’t work that because many amsmath environments use the explicit \end{<env>} occurrence to find the body of the environment and to collect it. Even something seemingly trivial like
\newenvironment{<env>}{\begin{align}}{\end{align}}
won’t work. However
\let\<env>\align
\let\end<env>\endalign
would because the environment name <env> is stored by LaTeX when you use \begin{<env>}. With the case of \newenvironment{<env>} amsmath wouldn’t find \end{align} because it is hidden by \end{<env>}.
We can however mimic the behavior of the body-collecting process by defining \[ as a delimited macro that is delimited by \], the actual definition of \] would still be the old (or anything really) it just would never be executed:
\def\[#1\]{\begin{align*}#1\end{align*}}
would allow
\[
a & = b \\
b & = c
\]
(This will only work properly until \[ and \] are used in another macro and/or package and expects the original definition.)
The same holds true for $$. However, $$ is not a macro sequence but the double occurrence of the math shift character $ (catcode: 3).
We can make $ active (catcode: 13) so that it can test for a following $ and use (similar to our \[#1\]) a definition that wraps everything until the next $$ in our custom environment.
\catcode`\$=\active
\begingroup
\catcode`\|=3 % | will act as math-shift
\makeatletter
\gdef${\kernel@ifnextchar$\@doubledollar|}
\gdef\@doubledollar$#1$${\begin{align*}#1\end{align*}}
\endgroup
Note that this will make $ $ (an empty inline math) look like $$ and will also execute \@doubledollar that will expect another $$ (which probably will not be found). We can correct this and/or change that on various ways but all of them will make this even harder to control or make break other things.
Yes, we can do many things but don’t.
\[…\]preferable to$$? – Werner Oct 26 '13 at 05:17$$(even if redefined) in LaTeX. There is no reason whatsoever for redefining\[: different environments have different purposes and you gain nothing from changingequation*intoalign*(actually you lose something). – egreg Oct 26 '13 at 08:10