If you want to change \begin{tabu} to <dimen> into \begin{tabularx}{<dimen}, while keeping normal tabu environments you can do
\documentclass{article}
\usepackage{tabularx,tabu}
\makeatletter
\let\originaltabu\tabu
\def\tabu#1#{%
\setbox\z@=\hbox#1{}%
\ifdim\wd\z@=\z@
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
{\originaltabu}%
{\let\endtabu\endtabularx\tabularx{\wd\z@}}%
}
\makeatother
\begin{document}
\begin{tabu}{|c|c|c|}
aa & bbbb & ccc \\
1 & 0 & 2
\end{tabu}
\bigskip
\begin{tabu} to 8cm{|X|X|X|}
aa & bbbb & ccc \\
1 & 0 & 2
\end{tabu}
\end{document}
I asked the author of tabu to avoid the syntax to <dimen>, he didn't want to accept the advice. However the trick of absorbing all the tokens up to the first brace allows us to use (abuse, perhaps) the fact that \hbox accepts such a syntax.
So the first tabu executes \setbox0=\hbox{} (\z@ is inner for zero as number or length) and the width of the box is zero. Thus the “true” part is followed and \originaltabu is executed.
The second tabu, instead, does \setbox0=\hbox to 8cm{} and the box becomes 8cm wide, so the “false” part is followed, leading to a (local) redefinition of \endtabu to \endtabularx and executing \tabularx{8cm}, after which the column specifiers are absorbed.
I added vertical rules just for better showing the result, not because I recommend their usage (I don't, actually).

tabuuses the tex primitive... tosyntax is one of the many deficiencies in the syntax of that package (perhaps the main one that it breaks the>syntax>{a}>{b}cintabularx(orarrayetc) has to be coded in teh reverse order as>{b}>{a}cintabu. If You are just useingXand not tabus extednedX[c,m]columns then just usingtabularxwould seem to be simpler, and if you are using the extended features just handlingtowill not help. – David Carlisle Jan 10 '15 at 22:07toso you'd have to drop down to primitive tex commands. – David Carlisle Jan 11 '15 at 13:22\let\tabuo\tabu
\renewenvironment{tabu}[2]{\begin{tabuo} to #1 {#2}}{\end{tabuo}}
Which gives me the error: \begin{tabu} on input line ... ended by \end{document}
– Koni Jan 11 '15 at 13:31\let\tabuo\tabu \let\endtabuo\endtabu \renewenvironment{tabu}[2]{\tabuo to #1 {#2}}{\endtabuo}Is\endtabudefined? Is this a naming convention for environments or implied by TeX? – Koni Jan 11 '15 at 13:51