Main fix would be card balance, nerf some of the significantly over-powered cards, and buff a bunch of the more useless cards. Instead of having only 10 or so cards the AI can effectively use, make it 30 or 40.
Second idea is to have more “bonus event cards”, and potentially give players different bonuses (proposed by @Jainus in Idea: vary Events by player / incentivise defences ). Right now the event bonus is effective in changing the weekly meta a bit, with about 1/3 of the teams using those. If there were a few different bonuses, then that group would likely be split (and hopefully more people would start doing it), which would provide more variety of teams to face.
Last idea which @Strat touched on is improved AI, since some of the decent top tier cards can’t effectively be used by AI despite being powerful enough. However, this one is probably a bit more controversial since not everybody wants challenging matches, some want things a bit more relaxed, and you’d be trading a narrow meta for variety but higher difficulty. Not saying one side is more right, just pointing out that they are incompatible.