Pirates are not a big problem, you can always capture their islands.

Interestingly enough since I made my suggestion I have seen the AI attacking my stack on the field but only when it had a clear advantage. Which is fine but the AI handles the stacks sitting in each city separately. So if I move into the range of city A, the army there might attack me if it feels confident but the army in city B (not far from A) will do nothing unless I move my army in the range of it. Obviously a human player would move with both armies, unless city B is directly threatened by a different force.