I've had this issue on AQT before.
When a user installs AQT, they are directed to press the 'Setup Information' button.
When they press the button, the setup information window pops up, BUT it also runs this script:
--Set AQT Variables to default if not set (new install)
tell application "BetterTouchTool"
set LclRetrievedVar to get_string_variable "CS_Highlighting"
set LclESC_Format to get_string_variable "ESC_Format"
set LclHighlightCal to get_string_variable "CS_HighlightCal_Mode"
set LclCalWgtMode to get_string_variable "CALWGT-DisplayEventsAs"
if LclRetrievedVar is missing value or LclRetrievedVar is "" then --check and set Control Strip Highlighting to ON
set_persistent_string_variable "CS_Highlighting" to "ON"
if LclESC_Format is missing value or LclESC_Format is "" then --check and set ESC key style to Edge
set_persistent_string_variable "ESC_Format" to "Edge"
if LclHighlightCal is missing value or LclHighlightCal is "" then --check and set Control Strip Cal Icon Mode to Both
set_persistent_string_variable "CS_HighlightCal_Mode" to "Both"
if LclCalWgtMode is missing value or LclCalWgtMode is "" then --check and set Cal Widget Mode
set_persistent_string_variable "CALWGT-DisplayEventsAs" to "Now+Next"
It basically goes through and sets all required variables for AQT to work to their default variables. I'm pretty sure you understand.
I'm also working on a way to auto-start it if someone starts AQT as an update to their previous presets.
Wait a sec, I just realised;
I was going to do this with a variable that stores the latest successfully installed version, but do you think it'll work if I just simply run it every say 10s just like a regular widget? hmm.
Please correct me if I'm wrong but I think it'll do it since it won't override already set variables.. It logically makes sense but i'm not good at logical thinking so correct me if i'm wrong!
(sorry for the random section about my own preset, but I guess it applies to you too since it's about auto-updating)