Very old question, but since google led me here I'll add a solution that I found useful:
Step 1. Create a user for each schema you need to be able to use. E.g. "user_myschema"
Step 2. Use EXECUTE AS to execute the SQL statements as the required schema user.
Step 3. Use REVERT to switch back to the original user.
Example: Let's say you have a table "mytable" present in schema "otherschema", which is not your default schema. Running "SELECT * FROM mytable" won't work.
Create a user named "user_otherschema" and set that user's default schema to be "otherschema".
Now you can run this script to interact with the table:
EXECUTE AS USER = 'user_otherschema';
SELECT * FROM mytable
REVERT
The revert statements resets current user, so you are yourself again.
Link to EXECUTE AS documentation: https://docs.microsoft.com/en-us/sql/t-sql/statements/execute-as-transact-sql?view=sql-server-2017