Find structure entries which parents relate to other entries
Yes, it looks like the descendantOf param doesn’t accept an array of element models or array of element IDs. Here’s what you can do in Twig to work around the problem.

This solution does trigger an additional query for every parent entry matching your relatedTo criteria. But as it’s only fetching the ids column, it might not perform too bad actually, depends on the amount of matching parent entries though.

{% set idsParam = [] %}
{% for parent in parents %}
    {% set idsParam = idsParam|merge(parent.getDescendants().ids()) %}
{% endfor %}

{% set children = craft.entries({
    section: 'training',
    ids: idsParam,
    eventDate: '&gt;= ' ~ now|date('U'),
    order: 'startDate DESC',
}) %}