The OP's question is whether there is a good omnifunc for Vimscript itself, such as offering semantically or syntactically are completion suggestions for vimscript functions, variables, etc. A number of answers just note general autocompletion plugins like YCM and snippet plugins like UltiSnips.
So to answer the original question: Yes, there's vim-verdin: https://github.com/machakann/vim-Verdin. It's surprisingly good at vimscript suggestions, and seems to be getting better.
But be warned though that at the time of writing it doesn't work perfectly with YCM (I would know as the YCM maintainer!). It works well enough that I use it regularly however. Disabling
g:verdin#autocomplete and enabling
g:verdin#cooperativemode allows you to hit ctrl-space for completion suggestions from verdin.