Major hack alert - make synonyms not for a database, but everything in it!
If your app only needs access to the objects supported by synonyms, you could potentially create another DB with a better name and fill it with synonyms of the original DB's objects:
create database MyDatabase;
go
use MyDatabase;
go
create synonym [dbo].[MyTable1] for [My-Database].[dbo].[MyTable1];
create synonym [dbo].[MyView2] for [My-Database].[dbo].[MyView2];
create synonym [dbo].[MyProc3] for [My-Database].[dbo].[MyProc3];
...
Here is a bit of generation script to help with this:
declare @OldDbName sysname = 'My-Database'
select 'create synonym ' + quotename(schema_name(schema_id)) + '.' + quotename(name) + ' for '
+ quotename(@OldDbName) + '.' + quotename(schema_name(schema_id)) + '.' + quotename(name) + ';'
from sys.objects
where schema_name(schema_id) not in ('sys')
and type in ('AF', 'FN', 'FS', 'FT', 'IF', 'P', 'PC', 'RF', 'TF', 'U', 'V', 'X')