Need hints on proper default route selection

We have a WAN that is multihomed with 2 NSP's (as customers, not peers).
Small routers with limited memory; full iBGP mesh; BGP routes not redistributed
into IGP. Our routing policy had been:

    [] Point default to NSP #1
    [] Take internal routes from NSP #2
    [] Have a second, lower pref default to NSP #2

Recently, we have been bitten by failures on our 10mbit link to NSP #1
(default) where the ethernet-lookalike link between us became
uni-directional (common netedges failure mode). This failure was not
detected by the router hardware so the bulk of our traffic continued to
send the data out that interface and into a black hole.

To get around this failure mode, we got NSP #1 to also send us their
internal routes and we changed our candidate default-network to point
to one of their well-known annoucements instead of the directly attached

So our new policy had been for quite a while:

    [] Take internal routes from NSP #1
    [] Select an annoucement as candidate default net from NSP #1.
    [] Take internal routes from NSP #2
    [] Select an annoucement as alternate candidate default net to NSP #2.

The problem we have been experiencing now is that both NSP #1 and NSP
#2 have been undergoing some major internal restructuring, causing
daily change/loss of candidate net annoucements, or change in
aggregation boundaries, etc..... making it a daily exercise at
selecting proper candidate route selection.

Can anyone provide an alternate or better strategy on how to deal with this?