I know this question is quite old, but when searching for this problem, this is one of the first results.
Short Answer: Set "plugins.enumerable_names" to "" (empty string) on Firefox 29+.
Apparently, from version 29 onwards, Firefox has a setting on about:config that controls the enumerable plugins. It does not solve the problem completely, because it is possible to query individual plugins, but it helps.
This property is "plugins.enumerable_names", and it has a list of allowed prefixes that can be enumerated. So, for the default setting, "Java,Nexus Personal,QuickTime,Shockwave", all plugin names starting with "Java", "Nexus Personal", ... will be enumerated, and all others will be hidden. To hide everything, just clear that string (set it to "").
More info: https://mail.mozilla.org/pipermail/firefox-dev/2013-November/001186.html