Controllability's dependence on B matrix Assuming the LTI system:

$\dot{x}=Ax+Bu\\$ , where $x\in R^n$

I understand that 


the $B$ matrix is usually given, and it is up to us to derive the optimal $u$ given an initial state of the system and a desired state where we want the system to arrive, in a finite time 
a full-diagonal $B$ matrix could guarantee global controllability for the system  
any $B$ matrix has to be dependent on the system and the application


In case the $B$ matrix is not a priori given, how could we cook up the "ideal" $B$ matrix, or at least any possible matrix that can render the system controllable?

potential ways, that might or might not be correct:


calculating the controllability matrix for any possible combination and keep those combinations that offer ideally global controllability, or at least the maximum rank of the controllability matrix. But this is computationally too demanding
through Cayley-Hamilton theorem, finding the eigenvalues of $A$ matrix and accordingly deciding for the minimum and maximum number of columns of $B$ matrix. But this implies that we know or can find, the values of the components of the $B$ matrix
There are different ways of expressing a control system. For example,


Observable Canonical Form
Controllable Canonical Form


If you express your system in controllable canonical form, then $B$ take the form of a column matrix with all zeros except one in the top position.

Link: https://en.wikibooks.org/wiki/Control_Systems/Standard_Forms