Here is a solution that redefines the tikzpicture environment by conditionally wrapping a comment environment (from the verbatim package) around it. I've only tested it with tikzpicture but I think it could be easily adapted to any other environment.
Set the \newif called \showtikz to true (using \showtikztrue) or false (using \showtikzfalse) at the beginning of your document in order to show or hide all the tikzpicture environments in your document, respectively.
This solution by cmhughes to the question How to make LaTeX ignore the contents of an environment? was useful.
EDIT: I changed my \newif, originally \hidetikz, to new \showtikz; double negatives such as \hidetikzfalse are difficult to parse.
\documentclass{article}
\usepackage{tikz}
\usepackage{verbatim} % for the comment environment
\usepackage{lipsum}
\newif\ifshowtikz
\showtikztrue
%\showtikzfalse % <---- comment/uncomment that line
\let\oldtikzpicture\tikzpicture
\let\oldendtikzpicture\endtikzpicture
\renewenvironment{tikzpicture}{%
\ifshowtikz\expandafter\oldtikzpicture%
\else\comment%
\fi
}{%
\ifshowtikz\oldendtikzpicture%
\else\endcomment%
\fi
}
\begin{document}
\begin{tikzpicture}[scale=1]
\path[draw=red,fill=red!20] (0,0) rectangle (4,4);
\end{tikzpicture}
\lipsum[1]
\end{document}
If \showtikz is set to true, the output is:

If \showtikz is set to false, the output is:

external: [tag:tikz-external] – Qrrbrbirlbel Apr 30 '13 at 14:47standalonedocument class, and then including the pdf files as graphics. That way, draft mode will automatically omit them. – Charles Staats Apr 30 '13 at 15:26standalonesuggestion, I think it might cause issues if you are using cross-references in the tikz pictures. – T. Verron Apr 30 '13 at 16:15asymptotefigures on and off – Werner May 01 '13 at 03:19