There is a highly recommended package called paradox that extends package management commands. Read more from https://github.com/Malabarba/paradox
(use-package paradox
:init
(setq paradox-github-token t)
(setq paradox-execute-asynchronously t)
(setq paradox-automatically-star t))
This setup feeds package usage statistics back to system using a separately set github token and updates packages in the background when you manually run the command paradox-upgrade-packages bound to your keys of choice.
Read the inline documentation of the variable paradox-github-token on how to set it up.