I don't get why Annie's stun can't have an expiry time.
It's the same idea as Vlad's empowered Q. Give her something like five (read below) seconds to use her stun after spamming her spells. Maybe even slightly decrease her cooldowns to balance for it. That way, she'd actually have some sort of counterplay besides "stay out of her range".
EDIT: Okay. I see a lot of good points in this thread of why it wouldn't work. Let me hit you with some more implementations of this idea.
Make her stacks expire after 15-30 seconds. That way, she can get her stacks off minions in lane, then run in to punish in a teamfight.
The other one, and the one I like most, is make her lose one stack every 5 seconds (scaling up with CDR?) That way, you can't just stay at 3 stacks then e and stun, but you can have a larger window of opportunity to actually use her stun. It would be good with the stun bar under her health bar too.