If you can, have one group or person manage the model or schema. From the model or schema the DDL is generated and applied to the database instances. That way you don't maintain scripts. Instead just the model of the database and generate the script(s) when needed. This should include tables, indexes, triggers, etc. There are several tools on the market to make this manageable.
The application teams will need to maintain the stored procedures or any data that needs to be inserted/updated for the application. They can store these in source control to store latest and make them re-runnable so they can be run again and again to the same effect.
One time loads are more difficult. A strategy here would be to store those under source control. One could have a table in the database called ONETIME or similar which would store all the one time scripts that have been run previously. When the scripts are run, it merely checks the ONETIME table to see whether the script has already been run against the instance.
This should make things more manageable.