Edit: the correct term seems to be byline, not sub-heading. I'll leave the post otherwise unmodified. Convert in your head :)
What's the most semantically correct way to do sub-headings? Example below.
<h2>About</h2><h3>We sell apples, yay!</h3>
<h2>About</h2><span class="sub-heading">We sell apples, yay!</span>
<h2>About<span class="sub-heading">We sell apples, yay!</span></h2>
HTML5 solves this by way of the
hgroup tag. Use that.
If you feel you're not yet ready to migrate, then I'd say you should still go with proper heading tags whenever you're marking up a heading. If you feel uncomfortable marking up two headings as siblings, perhaps you can adjust your copy to reduce the number of headings to just one.
Since the time of writing, the future of
hgroup has been endangered: http://dev.w3.org/html5/status/issue-status.html#ISSUE-164
As of April 2nd 2013
hgroup is removed from the spec: