Half of game design is game design, and the other half is simplification.
Reducing complexity is one of the hardest and most important parts of game design. It's something that needs to be done to almost every game prototype I see.
Your game is probably three times more complex than it should be. That's been my experience, from the game prototypes I've seen.
Avoid adding new systems. Instead, try to create more things within your existing systems.
My games tend to consist of very few systems, but with many things packed into those systems. I then have a reminder sheet that explains what those things are.
In my farm game, there are no separate rules for different things. Everything is just a token you can put on your land. At the end of each round, each token does an effect of some sort. Within that system, I could create pretty much anything. There used to be "lords" who would come to stay. I made them just another token on your farm, and their effect was that you could feed them, and get points. There were invasive bandits, too. They were another token, and their effect was that they'd take over some land.
In my gangster game, you go somewhere, and enact the icons printed on that location. The reminder sheet has a big list of what all the icons mean.
Radlands doesn't have a "combat system". It has abilities, and some of those abilities attack the opponent's stuff. So, combat exists, but as part of the ability system.
In another prototype, cards were the system. You could play cards that did all kinds of stuff. You could attack people too, but that was just another card you could play.
After compacting most of my game into one system, I then try to make those individual things each as simple as possible, or cull those that can't be simplified.
Find things in your game that work in similar ways, and make them work the same way, as part of the same system.
A Feast For Odin has 61 action spaces on the board, for players to choose from. This is an enormous amount, and far too many for most games. However, board complexity is greatly reduced by the fact that almost all the spaces work in just a few ways — largely giving out or converting resources.
I don't worry about the complexity of individual components too much at the start of my design process. It's towards the end of the process that I apply a "bar". It's not a mathematical equation, but every rule and part of the game must add a certain amount of gameplay, per unit of complexity. This causes me to redesign and reword many things, and cut others. This bar gradually creeps up, and by the end of the design, almost everything is simple, and some things are gone.
You want to go over every single thing with a fine-tooth comb, asking "can I possibly remove this text/icon/concept/rule?" You can usually make something half as complex, but 90% as good.
Get rid of anything that creates an exception to the normal rules, unless you have lots of worthwhile things creating the same exception, in which case you should probably turn it into a rule.
Never add a rule, in order to fix a problem.
This is a well-known piece of advice.
Instead, create components within your existing rules, that fix your problems.
Radlands had an issue that the game would snowball in the winning player's favour, with one player having a group of people in play that would wipe out the opponent's people, and leave them unable to recover. Rather than add rules to deal with this, I added the cards Radiation and Famine, which kill most of the people on the table.
In one of my prototypes, it was common for players to amass too many cards. Rather than create a rule that set a limit, I just added a little ability on a couple of cards, which forces players with very large numbers of cards to discard some of them. After that, players avoided building up too many cards.