Long time emacs user here with a .emacs which is highly customized and is updated by me frequently. I recently added (not sure what took me so long) code to automatically install packages which are missing (for instance, if I'm starting emacs on a new system).
If you use use-package, you can add ":ensure t" to the configs to accomplish this same thing. If you're not using use-package, you should be :) . Example use:
(use-package unfill
:ensure t
:defer t
:commands (unfill-region unfill-paragraph unfill-toggle)
:bind ("M-q" . unfill-toggle))
I'd recommend counting how many of your use-package forms have :ensure t and how many don't. If more have it than not, instead (setq use-package-always-ensure t).
Love all lisps, including elisp.