As far as we are thinking about possible evolutions, we can also add new criteria. Ability to change link "weight" according to link quality (or other parameters) may be an intesring thing.
Well, as soon as something is changed in the protocol you lose the big advantage of running standard protocols available in standard firmware, see the AMPR RIP thing.
I don't know if BGP has some "weight" parameter. OSPF has. It can not change the weight dynamically, but it's possible to change that weight by an external script. That's nice, and that's the reason why we choose OSPF for our "internal" network.
I have considered doing similar things in BGP (adjusting prepend or local-pref dynamically based on SNMP monitoring of the link). We have not experimented with OSPF yet, I read in many places that it has problems with scaling when the CPU power on routers is limited (like on old RB750s)
Rob