There's nothing you can do in 12.1 to make that part of the query not run.
However, in our latest version 12.9, that query has been rewritten a bit. If this runs faster for you, you might consider an upgrade.
with PACKAGES as
(Select owner, object_name, object_type, decode(status, 'VALID', 'V', 'I') status, last_ddl_time, object_id, created
from sys.all_objects
where 1=1
and object_type in ('PACKAGE', 'PACKAGE BODY')
and owner = :own)
SELECT PACKAGES.owner, PACKAGES.object_name, PACKAGES.object_type, PACKAGES.status,
PACKAGES.last_ddl_time, PACKAGES.object_id, PACKAGES.created
,NVL(pi.AUTHID, 'DEFINER') AUTHID
,NVL(d.debuginfo, 'F') DEBUGINFO
FROM PACKAGES
,(SELECT object_id, authid
FROM sys.ALL_PROCEDURES
WHERE subprogram_id = 0
AND object_type = 'PACKAGE'
and owner = :own
GROUP BY object_id, authid) pi
, sys.all_probe_objects d
WHERE PACKAGES.object_id = pi.object_id (+)
AND d.object_id (+) = PACKAGES.object_id
AND d.owner (+) = PACKAGES.owner
order by 3, 2