Why does Ammu-Nation never have any weapon in stock?

Solution 1:

It does, you need to play the game. As you play you get more and more unlocks.

Solution 2:

When You play the Game you make progress and unlock new weapons as you continue. When a weapon is 'Out of Stock' you simply haven't done enough missions or levelled up enough to have the weapon 'in stock' (unlocked).

They do this for 2 reasons:

  1. It gives the user something to work towards and and incentive to play the game properly.

  2. It prevents the users from getting all the best weapons right away and making the levels at the beginning too easy.

For example:

The Heavy Sniper is out of stock until you reach Level 80 when on GTA Online.

You unlock the MiniGun after completing the mission "The Paleto Score" when in story mode.