I think there is no perfect solution. The current one forces me to live with my build and choices, albeit at the expense of heavy metagaming. A percentage-based solution would let me get what I want more often, but then I'd just be savescumming. I prefer the former, as it has more impact on keeping me playing the game instead of the latter.
The solution is, I think, to have fail states that feel narratively satisfying and encourage the player to live with their failures - even
reward the player for their failures, to some extent, by giving them new content. In that way, the percentage-based checks work because the game will remain enjoyable whether or not the player succeeds a check.
The ultimate example I always think of is getting captured in Mariposa base in Fallout. You have to fuck up to get put in that cell in the first place, but when you're in the cell, you'll keep playing because the whole escape scenario is great fun and narratively interesting, perhaps even moreso than doing it the "professional" way and never getting captured. Players who succeed all their skill checks at Mariposa will have a great time infiltrating and destroying the base, but players who fail at everything will have an equally great time playing through the escape-the-cell scenario and having to reclaim their equipment and talk their way past the prison guards.