How do I format my custom html so wpautop won’t try to reformat it?

The function that does what I think you are referring to is wpautop(), probably the most complained about function is all of WordPress-dom. It is a filter on the the_content hook among others. You can remove that with:

remove_filter('the_content','wpautop');

I would suggest that you spend some time looking through the many related questions to see what you are getting yourself into.