Is there a way to safely downgrade modules after installing a version that has a database update?
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.