Comment below rating threshold, click here to show it.
Play Xin Zhao. Wait until level 2. Push E and Q while clicking on Diana. Repeat until she dies. You've won the lane.
Play Pantheon. Take Q. Throw spears. Repeat. You've won the lane.
Play Talon. Harass her until level 4. Use your full combo on her when her shield is down. Repeat. You've won the lane.
Play any ranged champion in the game. Auto attack her repeatedly. Do this until she dies or hides under tower (bonus points if you basically play AD Anivia or AD Annie in lane, they have the longest ranges). Repeat. You've won the lane.
Play any gap-closing assassin type champ (Fizz, Kat, etc). Bait out her shield. Harass her. Repeat until she dies. You've won the lane.
Play your favorite champion. Farm harder than her and outplay her. Repeat. You've won the lane.
"but Snipa, some of those aren't even mid champions!?"
You misunderstand the game. You play to win, not to follow some imaginary rules.
Diana is essentially an anti-AP mage. She has a shield to absorb burst damage and post 6, is more than willing enough to return it. She counters people like Fizz and Katarina (who is FOTM at the moment; that's why everyone thinks Diana is OP) while also being good against the same champs they're good against. So how do you beat her? You shake it up.