Modify the column names of database tables to fit my app's technical limitations?
Build Views on top of the tables.  Every RDBMS should have this functionality as VIEWS are part of the SQL Standard. 
 A View will allow you to call the columns whatever you so choose without having to change the underlying structure provided by the 3rd parties you say are providing the databases.  Views may also allow you some flexibility to standardize names and maybe even data types to your liking.  Finally, if you get additional data from the 3rd parties that can easily be loaded into the current structures, this will minimize any rework needed for future ETL processes.