No vas mal rumbeado, pero no es por un tema de parámetros que se incluye u omite la llamada a super().
Si tenés una clase A y una B(A), no es raro que necesites inicializar tu clase B con alguna cosa extra que A no hace, y por eso necesites definir __init__, pero a su vez necesites que A haga lo que debe hacer, y por eso además incluyas la llamada a super().  
Si cada clase define su __init__, entonces al crear un objeto de clase B, el __init__ de A no es invocado. Solamente es invocado si B no define su __init__ propio. 
Te agrego un par de ejemplos simples para que quede claro:    
Código Python:
Ver original# clase base para el ejemplo
>>> class A(object):
...   def __init__(self):
...     print 'init A'
... 
>>> class B(A):
...   def __init__(self):
...     print 'init B'
... 
>>> B()
init B # B no llama al __init__ de A mediante super()
 
>>> class C(A):
...   pass
... 
>>> C()
init A # C no define __init__, corre el de A
 
>>> class D(A):
...   def __init__(self):
...     super(D, self).__init__()
...     print 'init D'
... 
>>> D()
init A
init D # D y A definen __init__, y D llama al de A
 
>>> class E(D):
...   def __init__(self):
...     super(E, self).__init__()
...     print 'init E'
... 
>>> E()
init A
init D
init E #gracias a las sucesivas llamadas a super() en cada clase, corren todos los __init__
 
>>> class F(E):
...   def __init__(self):
...     super(E, self).__init__()
...     print 'init F'
... 
>>> F()
init A
init D
init F # al llamar a super(E) en vez de super(F), salteamos el __init__ de E