Here's a patch for shr.el that makes it handle "align" attribute for headers, paragraphs and lists, works only when monospace font is used (becoz of lame implementation of fill-paragraph). Also default value of shr-use-fonts set to nil so monospace fonts are used by default.
So now if shr-use-fonts is nil then page gets filled, if it's non nil then then it will be rendered like current version of shr.el does it, without filling and justification (see pics).
shr.el.diff is a diff file, shr.el is a patched version of shr.el