While the rules that EFL students are taught about the ordering of modifiers are not always strictly followed by native speakers, I do agree that there is something odd about
He was shot during an attack by an ISIS supporter on a supermarket.
In fact, I would parse it as "by an ISIS supporter [who was] on a supermarket", and suppose that it means that the sniper was on the roof of the supermarket. But "on a supermarket" is such an unusual expression, that I would expect to see "on top of a supermarket" or "on the roof of a supermarket".
If the meaning is that the person was shot inside a supermarket, then, first, it must be "in a supermarket"; and second, I agree that He was shot in a supermarket during an attack by an ISIS supporter is a much more likely order.
The first order, He was shot during an attack by an ISIS supporter in a supermarket is still possible, though; and reads that either the ISIS supporter, or the attack, was in the supermarket, as opposed to that being where he was shot.