A ballista can have a huge range, but there's no way they would be that accurate against a moving target at that distance, and that you'd be able to fire them before Dany spotting that entire fleet. Euron's fleet basically materialized out of nowhere. That's not how that works. Plus you need time to get into the right position with the ship, and aim that thing. But he basically shot the dragon before coming into view. That is plot convenience at its worst.
And its not like there aren't easy ways to write around that. I had a big surprise attack in my pirate campaign, that came from a dense fog bank. A small enemy fleet waited on the foggy side of an island, to surprise the players. But even then it took time to get into firing range. So the enemy ships used the wind direction to get the advantage on the players.
It also feels like we've reached the point in this series where everything has become very predictable. I'm still hoping they'll pull a big twist from their hat, but so far the plot has been very by the numbers.