なんとなく、ContentControlのContentへのBindingのPathにCurrentItemを割り当てれば、なんとなく解決しそうなきがしたので後で、ちゃんと検証してみようと思うなどした。DataTemplateSelectorは、まだ未検証だけど、変なBindingがらみのエラーはでなくなった風。
<ListBox Grid.Row="1"ItemsSource="{Binding Source={StaticResource source}}"ItemTemplate="{StaticResource PersonTemplate}"/><ContentControl Grid.Column="1"Grid.Row="1"Content="{Binding CurrentItem, Source={StaticResource source}, TargetNullValue={StaticResource NullPerson}}"ContentTemplate="{StaticResource PersonTemplate}" />