Money is important enough
Pretty much everyone needs to get money one way or another. Rejecting people's opportunities to get some of it flowing towards that person should not be done for poor reasons. Some of the reasons cited by the companies are explicitly forbidden by the rules, mostly related to race, religion, health issues, your neighbour's conflict with your cat, whether you're pregnant or got kids in bad age, if you won the lottery last week, whether you're currently homeless; all usually related to stuff that people have no or little control over. Criminal records/financial status are kinda different since it's expected that people can control those aspects of the life, but even financial status can sometimes be outside of the control of ordinary people.
On the other hand, companies are expected to make their own decisions who are the persons who can become employees of the company. Companies get this decision by the significant amount of money they can pay to their employees, and a promise to keep the money flow stable enough that their employees can build a career and get a living after spending significant amount of time with the company. While this decision belongs to the company executives, it should be used carefully. There needs to be significant conflict with the stability of the money source before they can properly make these decisions. For example, if the company doesn't have money source stable enough to hire more than 2 persons, it's not expected that they hire 120 people... So there are significant good reasons to make this decision against a person looking for a job. Or if company can't provide good working environment for their new employees for lack of suitable apartments, this can be used as a valid reason. But if this happens alot, the company gets bad reputation in the market for not keeping their system stable enough that they can grow and hire more people. Newspapers are supposed to report when companies blatantly reject black africanamerican people or fire people who got married to a person they don't approve.
So my position is that companies should only use this decision to reject people, if making it otherwise somehow breaks their money source stability. Criminal records and other such issues can in some situations do that. But it requires case-by-case analysis when this is the case. Passing issues in this area to be resolved by tribunal is a risky move by the emploee, since it indicates that the person is a troublemaker and unable to make this process work without resorting to strict following of the rules to the letter. It also wastes their time, if the company and the tribunal needs to spend time resolving the conflict. So there should be a good reason before this is done. People with criminal records generally can't expect other people to follow the rules to the letter, since they're known not to follow the same rules themselves.
But there are obviously cases where these powerful positions are absolutely necessary. Widespead discrimination of certain class of people in employment opportunities clearly sounds like a good reason. Criminals are clearly belonging to this group. There's clear statistics showing that criminals have hard time getting good jobs. There's clear statistics that more criminals are out of job than ordinary people. These statistics can be used to your benefit, if there's clear conflict and the system is not providing opportunities to make a living. It just needs to be done for the right reason. Not because you want to harm the companies that rejected you, but only because you feel their decisions were done for the wrong reasons. This element must exist before passing it further down the line is warranted.