If you change the font of the default variable-pitch face
(set-face-font 'variable-pitch "Arial-15")
then shr renders h1 tags as regular size text.
This is because variable-pitch is listed first in the face setting and
if it is set with size then it overrides the settings coming later:
(defun shr-tag-h1 (dom)
(shr-heading dom (if shr-use-fonts
'(variable-pitch (:height 1.3 :weight bold))
'bold)))