“Right Way” to make custom Loop respect reading settings inside admin panel?

I’m not sure why your blank variable method should work, but it seems dodgy to me. I would explicitly set the posts_per_page to the number defined in settings:

'posts_per_page' => get_option( 'posts_per_page' )