A couple things here: First off, parallel is probably not the right tool for the job. I would look at the multicol package which provides a multicols environment.¹ That will make the column balancing/division somewhat less painful.
But the other problem is that, as you've noticed, there is a visual imbalance. This is because with lines of verse² the lines will tend to be shorter and create an illusion that everything is unbalanced. Also, I recommend using the verse environment which allows you to write things like:
\begin{verse}
...
he's warm\\
he rescued me
Maybe I'm craze\
...
\end{verse}
but this will still shift things to the left. A simple solution would be to manually adjust the left margin of the verse environment until it looks better. We don't want to just increase \leftmargin since that will also cause the right margin to be increased and might cause unwanted line breaks.³ Unfortunately, the way that verse is implemented, it doesn't really provide a good way to override that⁴ so we'll have to redefine list ourselves. Fortunately, it's not too bad. Here's the current definition:
\newenvironment{verse}
{%
\let\\\@centercr
\list{}{\itemsep \z@
\itemindent -1.5em%
\listparindent\itemindent
\rightmargin \leftmargin
\advance\leftmargin 1.5em}%
\item\relax}
{\endlist}
We can modify it with this:
\makeatletter
\RenewDocumentEnvironment{verse}{ O{1.5em} }
{%
\let\\\@centercr
\list{}{\itemsep \z@
\itemindent -1.5em%
\listparindent\itemindent
\rightmargin \leftmargin
\advance\leftmargin #1}%
\item\relax}
{\endlist}
\makeatother
This changes the verse environment to have an optional argument which is the amount of extra indent to apply to each line. The default is 1.5em (which is what you get with the normal definition of verse). Boosting this to some larger value, say 5em (you'll have to see what looks best to your eye), will give you something that looks more centered.
- This mismatch between package name and environment name has caused no end of pain over the last 30ish years since Frank first created the package. Of course back then, DOS and VM/CMS both restricted file names to just 8 characters.
- Doing the whole manual line breaking and
\noindent etc. like you're doing here really hurts my brain.
- At first glance, this might seem ok, because once you have the left and right margins equal and at their largest possible value, the longes line will be centered, but in reality, you really want things to be a bit off-center to the right because the psychological center line does not correspond to the mathematical center line.
- The internal mechanism sets things like the linewidth and indentation in a way that the LaTeX hook mechanism can't impact it. We kind of need a
\AddToHook{env/verse/list} which doesn't exist (yet).
\columnbreakto force a column break. – John Kormylo Jul 30 '21 at 01:59\\[\baselineskip]and\parskip=\baselineskip. Now if you replace the blank line with\vspace{\baselineskip}then it merges the two lines into one paragraph and delays adding the space to the end. – John Kormylo Jul 30 '21 at 02:08\columnbreakrather that a column break is occurring after about 18 lines when in fact I don't want it to occur. – Rolomoto Jul 30 '21 at 04:38\columnbreak outside multicols. It doesn't affect the output, is this a non-issue? – Rolomoto Jul 31 '21 at 03:26