その対策をしたclsを http://p-act.sakura.ne.jp/PARALLEL_ACT/LaTeX-Dojin/
で公開してます。
抜き出すと、↓の様にしてます。
%\noindent\null の後で、行頭括弧が揃うようにする
\let\orig@null=\null
\def\null{\orig@null\futurelet\@let@token\@@tondgnewline}
%\noindent の後で、行頭括弧が揃うようにする
\let\orig@noindent=\noindent
\def\noindent{\orig@noindent\futurelet\@let@token\@@tondgnewline}
%改行の後で、行頭括弧が揃うようにする
\def\@tondgnewline{%
\futurelet\@let@token\@@tondgnewline}
\def\@@tondgnewline{%
\ifx\@let@token「
\hskip.5zw\<%
\else
\ifx\@let@token(
\hskip.5zw\<%
\else
\ifx\@let@token『
\hskip.5zw\<%
\else
\ifx\@let@token[
\hskip.5zw\<%
\else
\ifx\@let@token“
\hskip.5zw\<%
\else
\ifx\@let@token‘
\hskip.5zw\<%
\else
\ifx\@let@token〈
\hskip.5zw\<%
\else
\ifx\@let@token《
\hskip.5zw\<%
\else
\ifx\@let@token【
\hskip.5zw\<%
\else
\ifx\@let@token〔
\hskip.5zw\<%
\fi
\fi
\fi
\fi
\fi
\fi
\fi
\fi
\fi
\fi}
\def\@gnewline #1{
\ifvmode
\@nolnerr
\else
\unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
\ignorespaces
\fi
\@tondgnewline}