In every big poker room you need to show your documents after registration so that you can play in real money games and withdraw funds. At pokerstars it is very detailed and it takes relatively long time. They asked me not only for my ID but of picture showing me, my ID card (readable) and monitor showing that i have logged in my account. they also asked for bill on my name and address corresponding to my ID card. So the initial check there is good in my opinion.
After initial registration the only way to check if somebody is using bots is to monitor mouse movements, and software processes on the machine which i think that stars software is quietly already doing in background.
The idea to monitor players with video camera is not possible because many players will not agree and also different laws in different countries have different limitations for that.
On windows especially (which is by far the most used operating system for pc in the world) it will always be game of cat and mouse between cheating software and poker apps because windows allows (and will always allow) applications to mess directly with each other. Mobile device systems like android and ios are much more secure because their nature is such that applications can not directly mess with each other. That is the reason that there are no HUDs for mobile apps for example.
For me best solution would be to split the clients so that people playing from mobile devices always play against other mobile users and people playing on pc always play against pc players. This way the always open HUD versus no HUD debate will also become obsolete because people who do not want to use hud will play from their phone and people using HUD will play against other HUD users.
Maybe in future poker will be played only from mobile devices or even using special terminals with custom software and totally locked to not allow any tinkering. Nobody knows what will happen for sure.