How to align five equations on three lines, e.g., 2-2-1, with the last equation centered?

If you need each line to be numbered, then you can nest alignat inside gather:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather}
\begin{alignat}{2}
a &= b &\qquad
c &= d
\\
e &=f &
g &= h
\end{alignat}
\\
 i = j
\end{gather}
\end{document}

Without numbers, here's the way:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather*}
\begin{alignedat}{2}
a &= b &\qquad
c &= d
\\
e &=f &
g &= h
\end{alignedat}
\\
 i = j
\end{gather*}
\end{document}

Well, something like this? And remark: & should be before =, not after it. This will as well automatically use the correct spacing.

\begin{gather*}
\begin{aligned}
  a &= b
&
  c &= d 
\\
  e &= f 
&
  g &= h
\end{aligned}
\\
  i = j
\end{gather*}

A regular array would work, given that you provide some help in terms of spacing between the columns:

enter image description here

\documentclass{article}
\begin{document}
\[
  \begin{array}{r@{{}={}}l@{\qquad}r@{{}={}}l}
    f(x) & ax^2 + bx + c & g(x) & mx + c \\[\jot]
    f_1(x) & 2x^2 + 3x - 4 & g_1(x) & 3x - 1 \\[\jot]
    \multicolumn{4}{c}{h(x)=ax^3 + bx^2 + cx + d}
  \end{array}
\]
\end{document}

The column specification @{{}={}} handles the equal signs between functions f and g, and separates them by \qquad, while \\[\jot] adds a little vertical space between the equations. The last equation is centred in the traditional way using \multicolumn{.}{c}{...}.