Forget Riolu, Infernape covers your fighting side.
Grass type is a need. As much as it is a pain to train Roselia to a decent level and Shiny Stone it, it's really worth it. A good thunder attack or thunder pokemon such as Luxray or Magnemite (which can evolve in Magnezone, a very helpful Pokemon) will help you with the Elite 4.
I also reccomend Gengar, HIGHLY. Trade your Haunter and get Gengar from the trade effect.
Garchomp is Garchomp so if you need a good all around fighter, he's your best bet.
Good luck.