Are you writing a plugin?
Your plugin will most likely be executed after your user ~/.vimrc : you cannot do anything before that.
You can simply forget about doing anything before doing ~/.vimrc and use the conventions in the script:
if !exists("g:pluginname_optionname") let g:pluginname_optionname = default_value endif
Or you can use the autoload script ( :h autoload ) and ask your users to put something like the following in ~/.vimrc before any configuration:
call file_name
with this function that performs all the elements of initialization.
source share