I must confess to not "getting" the typographic use case for wishing to align the =
symbols across two align
environments that are separated by a major structural element of the document, such as a section-level header (or any level of sectioning header, really).
However, if you really, truly must perform this alignment of the =
symbols, I can think of at least two ways of doing so; both are illustrated below.
The first involves measuring the longest right-hand side element in the lower align
environment and using this length information to create a \parbox
for the material on one of the right-hand side elements in the upper align
environment.
The second involves using a single align
environment and placing the \section
directive inside an \intertext
wrapper. Yes, this actually works, although it seems mighty strange.
The second method may seem easier to implement. However, the first provides more typographic flexibility, such as allowing a page break to occur right above the section header. ("A page break before a sectioning header? What a concept!", Yacov Smirnoff might exclaim.) Another advantage of the first method is the more natural looking amount of whitespace above the section header.

\documentclass[12pt]{article}
\usepackage{mathtools}
\newlength\mylen
\settowidth\mylen{$\displaystyle ak_n+abx+bl_n-abx$}
\begin{document}
%% Solution 1
\noindent
words
\begin{align}
n&=\parbox{\mylen}{$\displaystyle n(ak_1+bl_1)$}
\end{align}
\section{First random section title}
\begin{align}
n&=ak_n+bl_n\\
&=ak_n+abx+bl_n-abx
\end{align}
more words
\bigskip
\hrule
\bigskip
%% Solution 2
\noindent
words
\begin{align}
n&=n(ak_1+bl_1)
\intertext{\section{Second random section title}}
n&=ak_n+bl_n\\
&=ak_n+abx+bl_n-abx
\end{align}
more words
\end{document}