First suggestion: after spending X (maybe 1200?) amount of gems on hero summon, players are given a 3* hero selector (non-valiant). This is to combat the RNG in the pulling where new players unable to get a hero that he/she wants/needs. The hero will have random faith and this will also help end game players limit breaking and make end game contents more competitive.
Second suggestion: given the large amount of items and the fact that a single item is pretty much useless without the full set, I suggest a chest system like in dota 2. At a premium price, chest contains specific 3*-4* sets that doesn't give duplicate so if players spend X amount of gems, he can get the full set. e.g: A chest contains 1 4* sets and 3 3* sets (each sets having 3 items in it), a player buying 12 chests will get the full 4 sets.
This might be a bit p2w but what this mainly does is lower the ceiling by provide certainty in pulling. It will helps casual players as well as veteran players. As for the price, it's up to the dev to decide what's fair.