There is a spacing difference (both vertical and horizontal) between using
\makeatletter
\newcommand*{\wackyfn}[1]{\expandafter\@wackyfn\csname c@#1\endcsname}
\newcommand*{\@wackyfn}[1]{\ifcase#1\or*\or$\spadesuit$\else\@ctrerr\fi}
\renewcommand\thefootnote{\wackyfn{footnote}}
\makeatother
and
\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
which seems the proper way to do things: is it possible to have something close to the second command, but which is also able to have footnotes with $\spadesuit$ etc. instead of * and similar, keeping the correct spacing and dimensions?
A complete example is
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\makeatletter
\newcommand*{\wackyfn}[1]{\expandafter\@wackyfn\csname c@#1\endcsname}
\newcommand*{\@wackyfn}[1]{\ifcase#1\or*\or$\spadesuit$\else\@ctrerr\fi }
\renewcommand\thefootnote{\wackyfn{footnote}}
\makeatother
Wrong\footnote{footnote}, compare to Wrong$^*$
\setcounter{footnote}{0}
\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
Right\footnote{footnote2}
\end{document}