I play against Viola more often than other characters. As Wandrian mentioned, I also get that feeling that she can do as she pleases without fear of taking too much damage, because most of her moves are pretty safe, at least against Tira. What's worse, you CAN'T give her too much of an opening, because she easily can (and definitely will) take half a bar, and then some, with a meter bar.
It's not a good matchup for Tira imo, but I did find out some things that work, and managed to take some victories against her.
First off, is range. Viola's heavy damaging stuff (at least the combos used against me) always begin up close. So with a guy like Nightmare, you can get in, step back, Viola wiggles her hands in the air, and you whack her in the face. Tira does not have a lot of ranged stuff. But I can poke relatively safe with 6B. Not abusable though, it mostly works to interrupt her pace. JS 66B and GS 66K feel a bit slow for me, I can't use them consistently. 66AA works wonders, as it goes under quite a bit of Viola's attacks. Even some of those pesky balls that she calls from afar. And at the end of round, I sometimes try 236K BE.
Second is spacing, but that applies to most fights, as you always have to figure which range works better for your character and your opponent's. I always try not to be too close to her. She can whiff often when you get the hang of it, enough to get GS 3B in.
And last but not least, is poking. I'm not the best player around, but when playin against Viola, my Tira doesn't make a pretty fight. If I end up too close to her, I AA and BB her face. Or mix BB and 2K. Or just 2K a lot. JS22_88B works for me too, it interrupts some stuff she throws. I annoy the hell out of her. Even if Viola wins, at least she won't be that happy!
I hope this is useful =)