Is there a better way to do headings for (all) archives?

You could create your own template function which you reuse instead of copy&paste. Basically put something like this in your functions.php

function my_theme_archive_header(){
    echo "Custom header output";
}

Then you just put a call to this function in your template.

my_theme_archive_header();