In the last 12hr I've had 4,998 RSS requests. Only 6% of these were HEAD requests, so I don't think it's common for feed readers to send a HEAD first and only follow up with a GET if there's a change. Of the GET requests, 55% were trying validation, while the other 45% were just unconditionally requesting the feed. This is not a place where you can trust feed readers to do something sensible if you offer a large feed.
Most APIs that support this kind of "show me a subset of many items" behavior use pagination or specifying date/ID ranges.
I agree it isn't perfect, and like most open APIs, some will do the lazy thing.
Thanks for the numbers. Just a heads up: a single misbehaving implementation can cause a huge spike in traffic, so I suggest you de-duplicate before computing stats.
Most APIs that support this kind of "show me a subset of many items" behavior use pagination or specifying date/ID ranges.