The only time I have had Riolu successful was in a FULLY dedicated team.
I used it extensively (125-150 games) and it does not ladder well. You never know what is going to be able to counter it because everything can carry Protect. I skimmed through the top 100 used pokes in OU and over 40 of them regularly carry a move that counters it.
Yes, everything can carry Protect, but most pokemon need their 4 moveslots for other things. On pretty much every moveset that has Protect on it, it's always slashed with something as well. In the metagame statistics thread, you can look at the moveset stats and see what regularly carries Protect on it. It's usually very, very easy to see what's going to carry Protect once you've played enough. I usually just either kill guys with Protect using the other teammates, or Trick a Choice item onto them with something else so even if they Protect, they can't actually do anything.
Also, you say that 40 of the top 100 pokemon regularly carry a move that counters it, but the opponent can only have 6 pokemon. On top of that, they're most likely not choosing anything outside of the top 50 on their team, so that narrows it down even more.
I found Copycat/Roar/Substitute/Swagger with Leftovers to be most useful. Play it with things like Charm Wabb and Memento Dugtrio, and set up by abusing stat-downs with trappers. I also used Sandstorm because TTar is great at baiting, but finding a way to support Hail would of been cooler. Not to mention pokes with a x4 resistance to Rock (like Lucario, coincidentally) usually will lose to it.
Swagger is pretty cool as well. Gives you a 25% chance to set up on like ANYTHING. It's Also cool if you want to run Ditto as a catch-all to sweep after wearing everything else down by giving Ditto Attack boosts. Running Substitute lets you phaze Protect users as well by using Sub on the Protect, and mashing Roar until Protect misses.
I've tried Swagger before on Prankster users. It's a horrible idea because of how easily it can backfire on you. And with Swagger, backfiring isn't just your Riolu getting killed. It can easily be your entire team getting counterswept because of the +2 you just gave them.
Another way to counter Protect users is to Roar on their Protect and then select Copycat (at least this works on PS, I'm not actually sure if it works ingame). It requires god-like prediction, but it works.
I didn't understand Focus Sash or Evolite when you're probably running Trappers that can Trick/Memento/Charm/Tickle/set up screens(Magnezone) and you actually get the chance to rebound if something like Quick Attack Terrakion or Mach Punch Infernape surprise you. Leftovers also gives you help if you phase in Ninetails/Politoad. 252 HP Riolu can still set up on some things, like tanking a non-invested EQ from Hippowdon.
I can't speak for Focus Sash, but Eviolite gives you
a lot more flexibility in your teammates. Yes, it does make Riolu's time limited in Sand and Hail, but even in those, if you have enough hazards, he still does a lot of uninterrupted damage. For teammates, you really just need hazards, something to protect the hazards, and a couple of other guys to try and take out Protect/Priority users while they can also do their own thing. Maybe it's just me, but I absolutely hate running fully dedicated teams just to support one pokemon. If the main pokemon dies, the rest of the team should still be able to win on its own. I haven't tried the Leftovers set though, so who knows, maybe it can actually take hits better than I'm giving it credit for.
It's only playable at the highest levels of play where most of the bullshit that can beat it doesn't show up, and those players are going to be able to play around it. I'd put money on it winning a Smogon Tour or w/e before ever topping a PO/PS ladder single-handedly.
I would not put an analysis for it in OU. There'd by RMTs' and complaints by good players out the ass if it was worthwhile.
There actually was a few complaints about it by good players in the BW2 Metagame thread (and I think that discussion is what sparked this analysis thread). But just because something isn't widely recognized or complained about, it doesn't mean it's not good. It just means it's not recognized yet.