For images loaded via AJAX, or that I don't want indexed, use the data-* attribute approach:
<img data-src="path/to/image.jpg" class="js-lazy-load" />
The javascript maps the data-src attribute to the src attribute:
<img src="path/to/image.jpg" />
But for images in the HTML that I do want indexed:
<a href="path/to/image.jpg" class="js-lazy-load">Image alt text here</a>
The javascript replaces the anchor with an image tag:
<img src="path/to/image.jpg" alt="Image alt text here" />
Seems that would preserve index-ability and the intent of the page (for accessibility) without affecting SEO (hopefully). But would love a second opinion.
Edit: Any feedback on how this approach - page with links to images versus page with inline IMG tags - would compare in regards to page rank. I'm guessing the inline IMG tags would fare better since each outgoing link would detract from the overall page rank (unless they had rel="nofollow" which would be counter productive).
nofollow
links are now also included when dividing PR between links. So even if you have 45 nofollow links and 5 regular links, the 5 regular links would still only pass 2% of the link juice. Though if Google were smart, they'd treat image links differently than HTML links, as your solution is a valid one for usability and accessibility, and it shouldn't be discouraged by diluting your PR flow.