Hi,
yes, if a table is corrupt, you can rename it and copy all or as many entries as possible to a new table. Just keep in mind that during the 'rename' of a table, all existing objects like indexes, views etc. will continue to point to the original object. So what you would need to do afterwards is to recreate any of these objects...
And, yes, unless the 'corrupt' table is dropped, you will continue to get errors whenever that corrupt structure is accessed e.g. during a 'check data' or 'statistic update'. Therefore you need to drop it first.
In general, let me recommend to run a 'check data' once a week. This check verifies the integrity of your database and is very important to identify errors early on. In my opinion, these errors are almost always hardware/driver/io system related and are not being caused by the database.
On the other hand, if you have a test setup that would repeatedly damage a table (as you have hinted at with your select union statement), let me know the steps how to recreate this and I will check it.
Thorsten