My prob with SR is at high level pretty much everything has it. This is true for DR as well, but while many things have only /+3 DR (not too tough for a fighter to completely negate), SR makes it tough for casters to use certain spells.
While DR in 3.5 is a little better at preventing the fighter from completely negating it, now most fighters can still do some damage. This is great. Reducing a players damage makes the fight challenging and exciting. Completely negating their damage makes the fight boring, that's the problem with SR.
My final problem with it is that as a fighter if I make an attack that doesn't hit the AC or bypass DR then I've lost an action, but nothing else. Often times I've only lost a part of an action, as I often have between 4-6 swings at that level. When I fail to bypass SR, I lose my whole action for the most part (unless I'm quickening, then half of my action), and I lose a spell!! While at high levels, wizards may have lots of spells- they only have so many 7th, 8th, and 9th ones- and to my mind those are the ones that matter at that point.
I think the ablative idea is an excellent idea (you could either do it by spell level, a 9th level spell taking away 9 "hp", by caster level- a 20th level caster taking out "20 hp", or combining- a 20th level caster with a 9th level spell takes out 29 "hp")
Another idea would be to make it where SR lowers the effectiveness of the spell but doesn't negate it. For example a spell that fails SR might reduce caster level and spell dcs by 4. Doing it this way you can create SR that works just like DR. For example a Dragon might have SR 4/20 meaning you need a 20th level caster check to beat it, failure means subtracting 4 from the caster level and spell dc.
I'm probably going to post that last idea in house rules.