How to avoid hardcoding a database link name in a package body
Changing each call of a component of the DBMS_HS_PASSTHROUGH to a dynamic sql statement (EXECUTE IMMEDIATE) is a possibility but I would prefer the following approach. 


For tables and views of the remote database one creates views on the local database that wraps this object.
For packages, functions and procedures one creates  packages, functions and procedures on the local database that wrap these object.


You already implemented this approach by creating the views for the remote tables.
Conceptually the dbms_hs_passthrough package is a package on the remote database. Therefore its component are called with the database link appended and not with the database link supplied as string paramter.
So you should write a wrapper package for the dbms_hs_passthrough package. The definition of the dbms_hs_passthrough-components can be found in the Database PL/SQL Packages and Types Reference or you can get it from the database dictionary (e.g. by issuing a describe command in sqlplus). If you change the database link name you only have to change your views and the small body of the wrapper package.