Your analysis is completely correct. The participial clause often found attached to the end of a main (or relative) clause implies that the action it describes takes place simultaneously or as a direct result of the action described in the verb in the main clause. A participle is an adjectival form, and it modifies some kind of nominal phrase. If no overt nominal phrase is present in the participial clause, the participle modifies the subject of the main clause it attaches to. In other words, it is functionally identical to simply having the subject of the main clause govern two verbs.
This means that these two sets of sentences are functionally identical:
John swung his arms wildly, hitting Jane in the head
John swung his arms wildly and hit Jane in the head
A neighbour’s daughter had been abducted, bringing an epidemic of kidnappings within reach of her own family
A neighbour’s daughter had been abducted and brought an epidemic of kidnappings within reach of her own family
The former is quite obviously fine (the only possible difference is, as Trevor pointed out, that having two finite verbs opens up the possibility that John hit Jane deliberately in the head, or that he did so as an action separate from wildly swinging his arms); but the latter does not work.
That is because in the latter pair, the participle in the participial clause is dangling: it does not modify the subject of the main clause as it’s supposed to. The sentence is, as you surmise, poorly written. Your own rewriting of it using ‘which’ is clearer and better.
Another way to test if a participle is dangling or not is to replace the participial phrase with a purely adjectival phrase. It should still be clear which nominal phrase the adjective in the adjectival phrase modifies, otherwise it is a dangling modifier (of which a dangling participle is a subtype):
John swung his arms wildly, angry at nothing in particular
A neighbour’s daughter had been abducted, scared of everything
In the latter example here, it is clear that ‘scared’ modifies the neighbour’s daughter—similarly, ‘bringing’ in the original sentence modifies the neighbour’s daughter.