How to control blocking sessions while an index maintenance job runs?
Not really controlling solution but you may try new index rebuild options :

https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-index-transact-sql?view=sql-server-2017

::=
{
    WAIT_AT_LOW_PRIORITY ( MAX_DURATION =  [ MINUTES ] ,
                          ABORT_AFTER_WAIT = { NONE | SELF | BLOCKERS } )
}  

this way you may control behavior of maintenance operation if it is blocking other processes.