
You can get hero shards from three sources:
You can reliably get a specific hero's shards through Faction Wars by using that hero to clear a stage successfully.
However, Special Faction heroes do not have Faction Wars, making their shards harder to obtain.
Boss Brawl allows you to exchange tokens for Hero shards when it's that Faction's rotation. Again, Special Faction does not rotate through.
Lastly, shards are obtained by opening the rune portal via runestones. These shards are totally random across all the heroes in the game but do generate Special Faction shards.
You can collect runestones by clearing chapters in Normal, Hard, and particularly Nightmare Mode. You also obtain runestones from completing the daily quests and from the loot goblin.