If you are on my upstream chain, then I am accompanying my routing requirements with money. Whatever penalty you may incur I pay for with my upstream payment. Where your statement holds is once you are not seeing money from me (i.e. you are not an upstream paid directly or indirectly by me), in which case what would help us all is a recognised [*] community attribute which says "advertise this prefix together with this attribute only to your upstreams"
there are some subtle differences between the above and my previous:
community-minded folk might suggest that a universally agreed DO-NOT-EXPORT-TO-PEERS community would get you a good way there. at least it would approximately follow the money.
note, for example, that your semantic does not announce the fine-grained routes (aka rubbish:-) Upstream has heard from you to Upstream's's bgp- speaking customers (Downstreams?), who i presume are mult-homed. and note that my second suggestion
also note that filtering peers' announcements on rir allocation boundaries would seem to go a way toward meeting both your needs and mine. and it is what smb's nanog presentation alludes to.
allows conservative/protectionist/... peers and multi-homed downstreams to achieve a similar result while waiting for a DO-NOT-EXPORT-TO-PEERS community to be deployed. randy