IMO, cheating at poker is the lowest form of theft, especially if it involves collusion. While my games are small in the overall scheme of the game, I have the largest payouts in my local area. Consequently, we sometimes draw players who are interested in bringing a less than honest game to the table. Since our games are held in a club, I have the added protection through an agreement with the club owners. If a player is removed from our game they are also removed from the club. I don't think Casinos would have a problem with this. Since I know all the local game owners, if someone is caught cheating or suspected of cheating, I simply pick up the phone, or I get a call. At that point the player isn't allowed in any of the local games.
The above concept can be reproduced through a National Association of some kind which players have to join to be eligible to play in tournaments. If a player is caught cheating, simply revoke their membership. Entry into a game could be refused based on their not having an active membership without even touching the subject of cheating.
My group does this unofficially, but there is a rather large members only poker league in Austin that does this officially. If a TD catches a player cheating their membership is revoked and they can't play at any of the league locations. This concept could be implemented nationwide.
Then there is the school of thought that we should brand a letter "C" on their forehead, but I don't think that one would last long enough to be effective more than once.