I think there is a middle-ground here.
When an application runs for the first time, I think it should show a
configuration dialog allowing the user to choose connections for the
input & output ports. These can default to the first available ports, so
most users can simply hit "OK".
When the application runs in future, it automatically connects to the
same ports. Though the user can run the configuration dialog again if
needed.
(This is pretty much what many Windows apps do, and it works pretty
well.)
While qjackctl may be handy for advanced users, I don't really think it
is suitable for normal users. (I find it pretty painful to use myself.)
Damon