TNA's problem is that they feel like a low-brow version of WWE at times. That said, they're just not going to be able to compete, IMO. It would take such a huge shift for that to happen, I can't even imagine how it would. WCW signed Hogan and it gave them a chance. I honestly can't even see TNA somehow landing John Cena as being enough to put them on the map.
The best chance for a rival to WWE to come along is for someone with the financial backing, industry connections, and a good vision for the product to come along and start a brand new company. One that sets out from day one to be a major player.
I'm a fan of more realistic storylines and characters and a more realistic in-ring style. This is what TNA often lacks and WWE as well. I'm not saying it has to be "attitude" but you can do realistic wrestling without cursing every other word and saying "suck it." WCW had this during the nWo years; they weren't doing attitude, but it was realistic and believable.
In that sense, RoH has a better shot at challenging WWE than TNA does. With MMA being so big these days, the RoH style is one that has a chance of attracting an older, more mature audience. But again, they lack the star power to get off the ground. That's the trick here.
Any start-up would need enough 'name' guys to attract decent ratings and to cut into the current WWE audience. There aren't many non-WWE guys who could serve as decent draws available. Hogan didn't help TNA, nor has Sting, Kurt Angle, Ric Flair, etc.
What I'd like to see done is for WWE to compete with itself. I'm talking about really splitting the two brands apart in a big way. They've always basically been the same style of show. I'd make Raw the standard WWE "sports entertainment" show and turn SmackDown into the show for an older, more mature, wrestling-oriented audience.
Change the set, change the colors, change the style of everything and make it feel more like WCW in the 90's - a pure pro wrestling show with realistic storylines and characters. Have a "committee" instead of a GM. Have guys who can work in the ring like Punk, Dean Ambrose, Ziggler, Bryan, etc. And do NOT have crossovers except in the very rare instances, for example WrestleMania, which would be sort of the "Super Bowl" of wrestling where the two brands both appear and often face-off.
Do, however, allow for trades every now and then. And kick the whole thing off with another NFL-style draft where each show picks from the roster, similar to the first draft with Flair/McMahon.
Essentially, treat the two brands as if they're two different companies. Maybe even MAKE SmackDown it's own separate company with it's own executives and decision makers, though of course Vince/HHH would be in charge ultimately. Give fans some variety.