How does one stop automatic line spacing increases when typesetting tall math symbols?

You should set the parameter \lineskiplimit to a negative value to avoid the lines from spreading. This behavior is explained in the TeXbook pg.78.

The TeX engine adds more space between the lines if their separation is smaller than \lineskiplimit; therefore setting it to a large negative value has the effect that a correction (which goes under the name \lineskip) is never applied.

Therefore simply add \setlength{\lineskiplimit}{-100pt} to the preamble of your document. All the lines will be equally spaced no matter their content. This is what you want.

Taking the MWE from @jfbu that's what the output looks like after setting the lineskiplimit:

enter image description here


Lucida Bright has unusually large x-height; it is 5.3pt, compared to 4.31pt of Latin Modern. The height of uppercase glyphs is 7.23pt, while Latin Modern has 6.83pt.

Thus a 10/12 setting is surely not suitable for unscaled Lucida Bright; in general I prefer to load them scaled at 85%, which gives a x-height of 4.5pt and height of uppercase letters 6.15pt (yes, in Lucida Bright the lowercase letters are pretty high, compared to uppercase ones).

However, if letters with ornaments appear, the problem of uniform baselines still comes out.

In the AMS classes, a setting of 10/13 is used, and one of the reasons is quite certainly the fact that accented symbols are frequent in mathematical documents. Here's a comparison:

\documentclass{article}
\usepackage{unicode-math}
\setmainfont[Scale=.85]{Lucida Bright OT}
\setmathfont[Scale=.85]{Lucida Bright Math OT}
\newfontface\luc{Lucida Bright OT}

\begin{document}

Setting is 10/12

\medskip

Some text just to show the effect when some large symbol
is inline and some text just to show the effect when
some large symbol is inline; here it is $\widetilde{\beta}$
and some text follows and some text follows and some text follows
and some text follows and some text follows.

\bigskip

\linespread{1.08333}\normalsize %\baselineskip=13pt

Setting is 10/13

\medskip

Some text just to show the effect when some large symbol
is inline and some text just to show the effect when
some large symbol is inline; here it is $\widetilde{\beta}$
and some text follows and some text follows and some text follows
and some text follows and some text follows.

\end{document}

In the second paragraph I use a 10/13 setting and the lines are equally spaced. enter image description here

I wouldn't bother too much for the occasional enlargement of one baseline skip; but probably the adjustment is worthy a try. Just put

\linespread{1.08333}

in your preamble. You probably will need also to change slightly the text height to ensure an integer number of lines. The geometry package can do it with the key heightrounded. The baseline skip should be increased something more than 13pt if you prefer unscaled Lucida.


(migrated from my comment)

You may use the \smash command which tricks TeX into believing that its argument has neigher height nor depth:

\documentclass{article}
\usepackage{amsmath}
\begin{document}\thispagestyle{empty}
You may use the \texttt{\string\smash} command which tricks TeX into
believing that its argument has neigher height nor depth, as in for example
$\smash{\widetilde{f}}$ which now does not upset the line spacings. We can
compare \underline{with} the smash: $A
\smash{\overset{\widetilde\alpha}{\to}} B$ and \underline{without} the
smash: $A \overset{\widetilde\alpha}{\to} B$ and lament the fact that the
horizontal spacing in the smashed case was modified, adding a
\texttt{\string\mathrel}: $A
\mathrel{\smash{\overset{\widetilde\alpha}{\to}}} B$ gives us a correct
spacing. We could have tried to smash only the widetilded alpha but for some
reason related to \texttt{\string\overset} this does not work $A
\overset{\smash{\widetilde\alpha}}{\to} B$. Speaking of \texttt{amsmath}
which provides \texttt{\string\overset}, we also have the additional
commands 
\texttt{\string\smash[b]} and \texttt{\string\smash[t]} which ``smash'' only
the ``depth'', respectively the ``height'' of the argument. We can try this
out with $A \mathrel{\smash[t]{\overset{\widetilde\alpha}{\to}}} B
\mathrel{\smash[t]{\underset{\widetilde\alpha}{\to}}} C$ where I used only
\texttt{\string\smash[t]} and we can see the effet of the unsuppressed
depth. 
On the other hand \texttt{\string\smash[b]} as well as
\texttt{\string\smash} both 
give $B \mathrel{\smash[b]{\underset{\widetilde\alpha}{\to}}} C$ and we can
check that it also worked for the ``depth'' as we keep on saying senseless
things and make a mess of our lives spending too much time with \TeX's
macros.
\end{document}

image of the latex compiled dvi