こちらの記事の私なりのアンサー記事になります。
Emacs のパッケージを少しずつアップデートした: 麦汁三昧

そもそも lock が Emacs のパッケージシステムと相性が良くはないのでちょっと考え直したいところはある

el-get は昔試したことはありますが、なにか合わなくて止めました。

今は素の package.el に落ち着いてます。

  1. インストールするパッケージは init.el で管理。

起動時にインストールされてなければインストールされるけど、それよりむしろインストールしたパッケージの把握のためにベタ書きしている。

  1. アップデートが溜まってきたらゴリッとアップデートする。

バックアップを取って、

$ cd ~/.emacs.d
$ tar czf ~/.Trash/elpa-$(date '+%Y%m%d%H%M%S').tar.gz elpa

M-x list-packages → U → x でアップデート。

Emacs を再起動してエラーになったら、バックアップを復元して後で調べる。でも最近は遭遇してないな。

拙作の BitBar プラグイン Emacs Package Updates でのアップデート確認が便利。

追記(2022-05-05):
BitBar は xbar として再起動し、Emacs Package Updates の URL も変わりました。
SwiftBar という BitBar の fork 版もあり、私はこちらを使っています。