Maybe I misunderstood. I thought you were using implicit statements to define variables directly in the executable code.I'll admit my knowledge on renpy variables is a bit sketchy. If you do a "default varname = value", and this is set before the start label (or in the after_load label), it sets the value according to that, but if it exists in the save file, it does not overwrite it?
At the moment I have my defines and some defaults at the top, then label start, then add variables as I realise I need them. Probably not the worst sin in my code either.
My English is not good enough to explain the advantages of "default" definition.
I found this link that explains what I mean with much better English than mine.
You must be registered to see the links
But don't worry: save problem or not if the game is good, players will be there !!