While I do like Npackd, I think that it should function similar to Ninite and Chocolatey in that it should look to see if the software is actually installed, not just the presence of the package file itself.
In addition, keeping a copy of the package file locally is not always feasible, caching the install package should be an option.
Re. the second part of the issue:
Npackd does not require the downloaded binaries to be stored on the hard disk. I guess that about 70% of all packages do not have binaries. The biggest exception are .msi packages where it is easier to uninstall them using the same .msi file instead of using the GUIDs.
Npackd already detects many software packages. Please write down what exactly is not detected.