One technique for achieving an even text height, besides LaTeX's default method of allowing extra space between paragraphs, is to adjust the leading by a small amount (on the order of 0.5pt).
I've attempted to achieve this using the following,
\setlength{\baselineskip}{12pt plus 0.6pt minus 0.3pt}
but I haven't been able to achieve an even text height.
I have tried using this strategy in conjunction with three methods of setting the leading, independently of each other: with the setspace and leading packages, and by using \renewcommand{\baselinestretch}{1.2}.
Below is a minimal example (using LuaLaTeX).
\documentclass[openany,12pt]{book}
\usepackage{lipsum}
\usepackage{fontspec}
\clubpenalty=0
\brokenpenalty=0
\interlinepenalty=0
\widowpenalty=3000
\setlength{\parskip}{0pt}
\setlength{\baselineskip}{12pt plus 1pt minus 0.5pt}
\renewcommand{\baselinestretch}{1.2}
\flushbottom
\setmainfont{Times New Roman}
\begin{document}
\section{One}
\lipsum
% More text to get the section starting in the middle of a page
Sed commodo posuere pede. Mauris ut est. Ut quis purus. Sed ac odio. Sed vehicula hendrerit sem. Duis non odio. Morbi ut dui. Sed accumsan risus eget odio. In hac habitasse platea dictumst. Pellentesque non elit. Fusce sed justo eu urna porta tincidunt. Mauris felis odio, sollicitudin sed, volutpat a, ornare ac, erat. Morbi quis dolor. Donec pellentesque, erat ac sagittis semper, nunc dui lobortis purus, quis congue purus metus ultricies tellus. Proin et quam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Praesent sapien turpis, fermentum vel, eleifend faucibus, vehicula eu, lacus.
\section{Two}
\lipsum
\end{document}

\set@fontsize, the macro\size@updatedoes\baselineskip=\baselineskip\f@linespread\baselineskip(where\baselineskiphas already been computed based on the stated font size), which kill stretchability and shrinkability. – egreg Sep 19 '14 at 19:47