Chrome for Windows v70でPWA動くようになるぞという話を受けて試してみようとして動かなくて調べてる途中でたまたま見つけたんだけど。

if (window.matchMedia('(display-mode: standalone)').matches) {
    // do things here
    // set a variable to be used when calling something
    // e.g. call Google Analytics to track standalone use
}

こんな感じでインストール済みかどうか判断できるようです。手元のChrome, Firefox for Androidで試したら動いた。

standalone のところは manifest.jsondisplay に依る。はず。

参考