Doing what you suggested here.
I was thinking, it might be better to have a special
top-of-page-include just for the home page. Have that H1 tag there
only. The other pages would just have that line appear in a DIV
instead, and then just one H1 tag on the page for the product names.
Seems like the best way forward. Before Semantic HTML the h tags were outline tags and originally there was only supposed to be 1 H1 tag. These tags were intended as an aid for accessibility.
Not all that long ago ARIA was very insistent that the 1 h1 tag rule be followed as the headlines are landing regions. And, Americans with Disabilities Act was taken to include the web. Additional laws got passed which require certain websites to be accessible.
Target, HR, and other large companies got class action suits. Companies like Amazon settled. Additional laws got passed.
I don't know if Google faced class action lawyers?
Semantic HTML changes things
Because semantic HTML has regions like Header, Main, Article and H tags appear in each of these regions ... being a sub landing region the software does not break if the top of the page has a header with an H1, Main landing region also has a header with another H1. If ARIA says it's ok then the lawyers will class action somebody else. But this would be a new standard, and it is not clear if it will be given a thumbs up?
If the theme is not using sematic tags only one H1 tag should be used. For the screen readers to work correctly.
I suspect the algorithms that rank pages will still wanting one h1 tag for some time even if there is no longer a reason.
So I'm sticking to one H1 tag on a page.
Site name in an H1 tag on every page may be a waste?
There is little reason to believe it is necessary and it may just be a waste of the tag in many cases. Some who run SEO tests have noticed no benefit. As the site name normally is on every page and in the link to the home page, bots have almost no problems in determining the site name.
Giving the H1 to the product name may be more bang per page.
In the odd case
(where there is no clue given to the bot as to the site name), no breadcrumbs bad internal linking etc ... schema can be used to provide the information.
"name": "name of page one",
"name": "name of website",
Or a more realistic odd case, where the bot would see the home page at a different location.
"name": "name of page one on a blog sub site",
"name": "name of website",
"alternateName" : "Blog of Website"
Since it may not be clear if the blog.example.com is part of or the same site as www.example.com or is it a different site? Is the blog name the site name or the main domain name? Google believes schema, but may have a problem in this case and want an alternative name to avoid possible attach vectors for would be imposters. A hasPart on the www. schema should resolve that.
Personally, I would use the h1 tag on the home page of blog.example.com with the same name as the www.example.com. Technically google may think they are two sites but both have the same name. And if the name were trademarked it may refuse as possible phishing, and want to talk over the phone or via search console security issues. But it is not uncommon for software to exist on a subdomain for the same site and thus same site owner so ... its the same site name.
The first thing to check, if Google can't determine the site name
The first thing to check is for problems with the web server where the robot is unable to access the home page of the website. In that case the bot may have problems determining the Name.
looking at H1 tags is not on the list of things to check