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)))