Riot, just use Steams refund policy.
But seriously, you buy a champ, you get 5 games before refund is disabled. With skins, you get one game. Play anymore than that, and you can't refund. When you rework a champion (not nerf/buff, but totally rework, Ala Skarner, GP, Veigar.), the refunds refresh on that champ.
How do you keep people from abusing this? With a magical tool called effort. Keep track of their refund history. If they're abusing it, it'll be obvious, and you disable their refund privileges. Bing, Bang, Boom.