Is it possible to filter with hasDescendants?
What you could do is to get all the descendants and loop them to check if at least one has that lightswitch not set.

{% set showDropdown = 0 %}
{% for subPage in page.getDescendants() if subPage.genericHideFromNavigation == 0 %}
    {% set showDropdown = 1 %}
{% endif %}

&lt;li class="{% if showDropdown %}has-dropdown{% endif %}"&gt;&lt;/li&gt;