I am 16k and the other is 11k, I get 5 stones HCP. This feels bit excessive.

Maybe 16-11= 5 - 1 = 4 or something along those lines?
Or when HCP gets over 4 stones.

Found this:

The formula I use for the point differential for handicap stones is 2/3 (X**2) +12x-6.

That means 6 2/3 points for one stone, 21 points for two stones, 36 points for three stones, 53 points for four stones, 71 points for five stones, 90 points for six stones, 111 points for 7 stones, 133 points for eight stones, 156 for nine.

Each stone is worth more on an exponential basis, while handicaps are linear. A nine stone handicap worth 10-11 levels rather than nine.

(Note: this is for the beginning of the game. Usually, after a while, playing W, I can relax a bit as B makes mistakes which are worse than W’s mistakes, and as W secures life and gains territory and influence.)

Rank (at least in the Kyu range) is actually defined as stone difference

<edit>
Also in the Dan range, just check any Go server … e.g. in rated games, 9d gives 7d two handicap stones.

IIRC it’s only among pros that rank difference is not necessarly equal the number of handi stones, but I’m not sure about that. </edit>

<edit 2>
So, rank is actually a function of how many stones W can give to B with a result of roughly 50% wins and 50% losses. If the wins rise to a certain percentage over 50% —> W gives one more stone to the same B player = W one rank stronger (assuming that the B player also plays other players and thus has a stable rank). </edit 2>

<edit 3>
So, in consequence, we can be sure—in a club or community or on a server, large enough that the ranks of its members are reliable (within this community/server, of course)—that if we meet a player two ranks higher than us, it is appropriate to take two stones so that the chances of losing/winning are roughly 50%. </edit 3>