A lot of discarding cards and keywords have this in their description, but I observe that when there's an option between discarding two uncommons, the choice is made randomly.
I'd suggest the system rate cards in highest rarity as follows:
1) Card rarity
2) Card overall cost
3) Card keyword
I usually perceive highest rarity meaning that the highest-costing or more-keyword-filled card is considered of highest rarity among other cards with the same rarity. What do you guys think?