It is not possible to use fpu "just so" when you use some basic pgf routines such as the ones employed in the tape shape. However, it is possible to use it locally where it matters. That is, you can switch it on locally in a group and the use \pgfmathsmuggle, which was added to pgf long after this question was written (internal versions were available before), to smuggle the result of a computation out of the group. This allows you to define functions which yield reasonably small values but go over large values when parsing the expression. The function under your link is a good example since it involves high powers of the argument, omega, but the result is not too extreme because these large values cancel.
\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.symbols}
\usetikzlibrary{fpu}
\newcommand{\pgfmathparseFPU}[1]{\begingroup%
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
\pgfmathparse{#1}%
\pgfmathsmuggle\pgfmathresult\endgroup}
\pgfmathdeclarefunction{SPM}{4}{\begingroup% #1=omega,#2=omega_p,#3=alpha,#4=beta
\pgfmathparseFPU{(#2/pow(#1,5))*exp(-#4*pow(#2/#1,4))}%
\pgfmathsmuggle\pgfmathresult\endgroup}
\begin{document}
\pgfmathsetmacro{\xtest}{SPM(1,1,1,1)}
\begin{tikzpicture}
\draw[stealth-stealth] (0,4) node[below left] {$S_\mathrm{PM}(\omega) $ }|- (5,0) node[below left] {$\omega$ };
\draw[blue,thick] plot[variable=\x,domain=0.2:5,smooth,samples=71] (\x,{4*SPM(\x,1,1,1)});
\node [tape,below right,draw] at (0.1,4){$\displaystyle S_\mathrm{PM}(\omega)
= \frac{\alpha g^2}{\omega^5} \exp \left [-\beta \left (\frac{\omega_p}{\omega} \right )^4 \right ]$};
\end{tikzpicture}
\end{document}

Needless to say that the canonical way to produce this plot is using pgfplots, which also switches on fpu only where it is needed.
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usetikzlibrary{shapes.symbols}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}[declare function={SPM(\omega,\omegap,\alpha,\beta)=%
(\omegap/pow(\omega,5))*exp(-\beta*pow(\omegap/\omega,4));}]
\begin{axis}[xlabel=$\omega$,ylabel=$S_\mathrm{PM}(\omega)$,ymax=0.8]
\addplot[domain=0.2:5,smooth,samples=71,blue,thick] {SPM(x,1,1,1)};
\node[below right,draw,tape] at (0.2,0.75) {$\displaystyle S_\mathrm{PM}(\omega)
= \frac{\alpha g^2}{\omega^5} \exp \left [-\beta \left
(\frac{\omega_p}{\omega} \right )^4 \right ]$};
\end{axis}
\end{tikzpicture}
\end{document}

Yet there are definitely applications where locally switching on fpu makes sense, such as this one from the answer of which I copied (more or less) the code for this answer.
\uspackage{fp}, sometimes not, and I don't know when to do what. – Aug 26 '18 at 15:13bboxthingy. Fun fact: one of my first answers in this site (here) was due to this bounding box issue (of course at the time I had absolutely no idea what a bounding box was). – Phelype Oleinik Sep 11 '19 at 11:23tikz-cdexample is precisely of the type that prevents one from really "publishing" such a library.tikz-cddoes some black magic, and it is hard to write something that deals with all these things appropriately. It however does work withfpu, see the last version here. Which is why I think one could fpuify many things without problems. (I am not saying this will work with plain TeX and/or ConTeXt.) – Sep 11 '19 at 14:47