We have recently added support for customizing the installdir property of the MSI Allow overriding INSTALLDIR by amitkanfer · Pull Request #241 · elastic/elastic-stack-installers · GitHub
I'll have to double check what version we expect the installdir support to land in (I think 8.13) but that will allow you to place the installation directory on disk, using an MSI cmdline flag, without the version in the path via something like msiexec /i "<full path to msi file>" \qn INSTALLDIR="C:\Program Files\Elastic\Filebeat"
or an mst (MSI transform).
I suspect we'll have more info to share about the programdata change in the near future.
I'm hoping we can also allow customizing the config dir path via an MSI parameter too but no ETA on that yet.