"A simple way to increase vertical spacing in tables" is to replace the optional positioning parameter with an \arraystretch one:

\documentclass{article}
\let\oldtabular\tabular% Store a copy of \tabular
\let\endoldtabular\endtabular% Store a copy of \endtabular
\renewenvironment{tabular}[2][\arraystretch]
{\edef\arraystretch{#1}% Update \arraystretch
\oldtabular{#2}}% \begin{tabular}[<stretch>]{<col spec>}
{\endoldtabular}% \end{tabular}
\begin{document}
\begin{tabular}{*{6}{c}}
a & b & c & d & e & f \\
g & h & i & j & k & l \\
m & n & o & p & q & r \\
s & t & u & v & w & x \\
y & z
\end{tabular}
\begin{tabular}[2.5]{*{6}{c}}
a & b & c & d & e & f \\
g & h & i & j & k & l \\
m & n & o & p & q & r \\
s & t & u & v & w & x \\
y & z
\end{tabular}
\end{document}
The new interface is \begin{tabular}[<stretch>]{<col spec>}...\end{tabular} where <stretch> defaults to \arraystretch. You could make that 1 also, but the above suggestion is more general.
It would be possible to extend this so it allows you to use both optional arguments, if needed. But two optional arguments only work as expected if you supply both when you need only the second one. In those instances, a key-value approach is usually better. However, that would be very similar to just adding the new \arraystretch as needed, so I don't think it's always simpler.
\arraystretch{}that can increase the vertical space. You can use that fortabularenvironments, too (e.g.,\renewcommand\arraystretch{1.2}). But beware, it will continue to stay in force, unless you you reset it with\renewcommand\arraystretch{1}. If you load thearraypackage, there is also\setlength\extrarowheight{length}. – Steven B. Segletes Feb 21 '14 at 15:38@Steven B. Segletesin your comment. The renewed value of\arraystretchwill change the setting from the point of invocation going forward in your document, unless later reset. Alltabular,arrayand other similar environments will be affected. – Steven B. Segletes Feb 21 '14 at 15:45\renewcommand) that takes an optional argument (formerly it didn't). If I use your code is a minimal example with abmatrix(fromamsmath, then I get a matrix that has increased spacing. So, I guess, I don't understand the question really. – Werner Feb 21 '14 at 16:07tabularalready takes an optional argument. The complete interface is\begin{tabular}[<pos>]{<col spec>}. What are you anticipating will be your use case? For example, do you want\begin{tabular}[<arraystretch>]{<col spec>}and completely forego the regular[<pos>]positioning argument (that is optional)? – Werner Feb 21 '14 at 16:31