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}