The limitation to maximum two nodes is still a given thing and I have not seen any effort spend on changing this.
To prevent overloading the satellite with checks you have the MaxConcurrentChecks constant. To get some metrics for check execution you can use the icinga
check, so it should help to tailor the value, but keep in mind hitting it will result in latency and if one high available node goes down the other has to handle all checks.
This is especially useful if the satellite does many checks on its own (the NRPE ones) and less useful if it only schedules checks on agents (the one with Icinga 2). For the later one network connections is the limiting factor (because of open files) and load comes from initializing connections so better initiate them from the agents.