Giving server-role to login breaks stored procedures
Grant CONTROL SERVER to the login rather than adding it to the sysadmin role.

As documented in Books Online:


  The value of DEFAULT_SCHEMA is ignored if the user is a member of the sysadmin fixed server role. All members of the sysadmin fixed server role have a default schema of dbo.


CONTROL SERVER gives the same rights as sysadmin but without this side-effect.

One caveat: you would need to check for any code that depends on the user explicitly being a member of the sysadmin role (for example, code using IS_SRVROLEMEMBER).