Auditing sysadmin logons with Extended Events
This may work for you, but by no means do I consider it elegant (or even good for that matter).

First, configure the server to log all successful and failed logins.  

USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'AuditLevel', REG_DWORD, 3
GO


Now, to audit those logins that are in the SYSADMIN fixed server role, you can run through the following process:

CREATE TABLE #ErrorLog
(
    LogDate DATETIME NULL,
    ProcessInfo VARCHAR(20) NULL,
    [Text] VARCHAR(MAX) NULL 
)

INSERT INTO #ErrorLog
exec xp_readerrorlog 0, 1, N'Login succeeded', NULL, NULL, NULL, N'DESC'

SELECT *
FROM (
    SELECT IS_SRVROLEMEMBER('sysadmin', SUBSTRING([Text], CHARINDEX(CHAR(39), [Text]) + 1, CHARINDEX(CHAR(39), [Text], CHARINDEX(CHAR(39), [Text]) + 1) - CHARINDEX(CHAR(39), [Text]) - 1)) AS isSysAdmin
    , SUBSTRING([Text], CHARINDEX(CHAR(39), [Text]) + 1, CHARINDEX(CHAR(39), [Text], CHARINDEX(CHAR(39), [Text]) + 1) - CHARINDEX(CHAR(39), [Text]) - 1) AS loginName
    , *
    FROM #ErrorLog
) InstanceLogins
WHERE isSysAdmin = 1

DROP TABLE #ErrorLog


What this does is pull all successful logins from the current error log, identify the login name, and pass it into the IS_SRVROLEMEMBER function you were already tying into with your Login Trigger approach.

This will potentially balloon your ERRORLOG, but it won't block/slow logins like a failing trigger may cause.  It will also provide login times and if you have some SQL Auditing in place, you may be able to correlate these with activity, etc.  At any rate, I think this will give you what you're looking for.  Final note: you don't have to audit the failed logins, but I find that information more useful than not.