After narrowing down my question I was about to Google and find an answer here.
Basically for some reason the ListViewItems are set to align to the Left. Setting them to Stretch fixes this problem. This is done through a style like so:
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
This unfortunately affects every column, but then you can set the contents of other columns to left, right, center as explained in the link.