How to change default float options for figures?

LaTeX uses the contents of macro \fps@<float> as the default parameters for the float type <float>. It can be redefined, e.g. for figure:

\makeatletter
\renewcommand*{\fps@figure}{htb}
\makeatother

Then, the options of the macro applies, if the float is used without the optional argument:

\begin{figure}
...
\end{figure}

Heiko's already shown the correct declaration, but to answer

It seems that previously, LaTeX was replacing \defaultplacement with its value before processing, but now it is processing the macro in place.

No. Previously, unknown characters were silently ignored, so

[\defaultplacement]

was same as

[\ d e f a u lt pl a c e m e n t]

which, after ignoring unknown and duplicate options, was same as

[tp]

Incidentally, are you sure you want a default of htb ?

Disallowing p (float pages) massively increases the chance that all floats go to the end of the document.