This is something quickly written with this answer as starting point. It works for plain text but not for equations. Thanks to TikZ' modulo function you could also add a longer color list and alternate between n colors. In principle this can be done without TikZ (e.g. with zrefpos). And it does not require any special compiler like lualatex
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{soul}
\def\lstcolors{"black","red"}
\newcounter{colorindex}
\makeatletter
\DeclareRobustCommand*\myalternate{%
\begin{tikzpicture}[overlay,remember picture]
\path let \p1=($(0,0)-(current page.south)$) in \pgfextra{
\xdef\lasty{\y1}};
\end{tikzpicture}%
\def\SOUL@everytoken{\begin{tikzpicture}[overlay,remember picture]
\path let \p1=($(0,0)-(current page.south)$) in \pgfextra{
\ifdim\y1<\lasty
\stepcounter{colorindex}
\xdef\lasty{\y1}
\fi};
\end{tikzpicture}%
\pgfmathsetmacro{\currentcolor}{{\lstcolors}[mod(\number\value{colorindex},2)]}%
\textcolor{\currentcolor}{\the\SOUL@token}}%
\SOUL@}
\makeatother
\begin{document}
\myalternate{hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello}
\end{document}
