You could define your own conditional, say \ifTikZVthree and use
\ifTikZVthree
% <TikZ version 3 stuff>
\else
% <TikZ version pre-3 stuff>
\fi
in your document to define separate version 3/pre-3 stuff. The following minimal example defines \checkTikZversion that checks the version of tikz via the macro \ver@tikz.sty - defined whenever a package is loaded. In nature, it's very similar to \@ifpackagelater (see Which package version am I using?), including discussions in Detecting which version of the LaTeX format is in use.

\documentclass{article}
\usepackage{tikz}
\makeatletter
\let\@xp\expandafter
\newif\ifTikZVthree
\def\@extractTikZversion#1 v#2 (#3){#2}
\newcommand{\checkTikZversion}{
\@xp\@xp\@xp\@xp\@xp\@xp\@xp\ifnum
\@xp\@xp\@xp\@xp\@xp\@xp\@xp\pdfstrcmp
\@xp\@xp\@xp\@xp\@xp\@xp\@xp
{\@xp\@xp\@xp\@extractTikZversion\csname ver@tikz.sty\endcsname}{ 3.0.0}=1
\TikZVthreetrue
\fi
}
\makeatother
\checkTikZversion% Check the current TikZ version
\begin{document}
\makeatletter
TikZ version: \@xp\@xp\@xp\strip@prefix\@xp\meaning\csname ver@tikz.sty\endcsname% Show current TikZ version
\makeatother
\ifTikZVthree
TikZ version: 3.0.0% You are running TikZ version 3.0.0
\else
Not TikZ version: 3.0.0% You are not running TikZ version 3.0.0
\fi
\end{document}
Here's how the \expandafter/\@xps work within \checkTikZversion:
\@xp\@xp\@xp\@xp\@xp\@xp\@xp\ifnum
\@xp\@xp\@xp\@xp\@xp\@xp\@xp\pdfstrcmp
\@xp\@xp\@xp\@xp\@xp\@xp\@xp
{\@xp\@xp\@xp\@extractTikZversion\csname ver@tikz.sty\endcsname}{ 3.0.0}=1
\TikZVthreetrue
\fi
After the first batch of processing \@xps, you're left with
\@xp\@xp\@xp\ifnum
\@xp\@xp\@xp\pdfstrcmp
\@xp\@xp\@xp
{\@xp\@extractTikZversion\ver@tikz.sty}{ 3.0.0}=1
\TikZVthreetrue
\fi
where \ver@tikz.sty is the expanded construction of \csname ver@tikz.sty\endcsname. The second round produces
\@xp\ifnum
\@xp\pdfstrcmp
\@xp
{\@extractTikZversion 2013/12/13 v3.0.0 (rcs-revision 1.142)}{ 3.0.0}=1
\TikZVthreetrue
\fi
where \ver@tikz.sty has been expanded to the full version of tikz (on my machine). The next expansion strips out the version via \@extractTikZversion:
\ifnum
\pdfstrcmp
{ 3.0.0}{ 3.0.0}=1
\TikZVthreetrue
\fi
where the actual comparison is made (via e-TeX's \pdfstrcmp). Depending on the output, \ifTikZVthree is set to either true of false. Note the specific use of space before the version number.