Is there a way to safely downgrade modules after installing a version that has a database update? I have a site with a lot of modules running Drupal 7.  I just installed a bunch of module updates, ran update.php, and then started running some tests, upon which I noticed that one of the module updates broke an important function on my site.

After some more testing, I discovered which module update broke the function (an update from rc1 to rc2).  Reverting this module back to the previous version (rc1) restores the function on my site.  However, when I installed rc2, there was an update to the database for that module which was performed when I ran update.php.

I'm going to wait for rc3/a 1.0 release of this module to update again.  However, is it safe to simply re-install the old rc1 version over rc2?  Or could this cause major problems down the line and should I instead revert from a backup?

I'm not giving specific module names because I'd like to know what the general best practice (if any) is for "downgrading" modules.
I think the answer is that "it depends".

If the hook_update_N just added indexes, then you should be safe.  If it added or changed columns, then you could have the instance were particular parts of the module work but others will fail (eg, parts that save to the database).  Or, worse, you could start getting inconsistent data in the database for the custom tables.  You should also see an error about the database on the status report.

I would look at the module in question, search for the hook_update_N definitions and see what changed.  It may be documented in the changelog, but I don't always trust that everything was logged.  Then make a judgement call about what to do.