If you're very aggressive then out of the two you'd want to go with Ahri. She requires an all-in approach, she is very much a hybrid between an assassin and a mage, leaning closer to assassin(similar to LeBlanc). Just about any assassin is going to be the same(Akali, Katarina, Diana, Fizz, Talon, Yasuo, or Zed), you have to play aggressive with an all-in approach relying on quick reflexes and knowing the exact time to go in and not hesitating to seize it. However, if you don't get fed then you're going to have a tough time.
Vel'koz is more of a "sit back and blast people with magic" type character, where you slowly lower their health bar until finally finishing them off with an ult. If you let them get too close as Vel'Koz then you're going to be in for trouble, so Vel'Koz is the complete opposite of what you're describing. Good thing about this type of character is you don't have to get fed in order to be relevant to the game.
You've also got nuking champs such as Annie or Syndra that are mages that are sort of hybrid between the two play-styles. They require you to get in close, and you keep hitting them with small attacks then just at the right moment you unload a combo and hope that they are dead by the end of it. So, the skill there is knowing exactly how much damage you do.
But I digress: the "best midlane champ" isn't actually something that exists. Generally, a person is going to do best on the champ he is most comfortable with. Every champ is going to have a learning curve, but once you settle in you'll find yourself wiping the floor with people playing the current "OP champ" that they have not idea how to play.