The thing is, resource allocation is probabilistic. For Aluminum, for instance, the large (8-unit) deposits go like this:
> Every Tundra tile has a 1 in 16 chance of a resource. Of these, 15% will be Aluminum.
> Every Snow tile has a 1 in 17 chance of a resource. Of these, 15% will be aluminum.
> Every Hill tile has a 1 in 22 chance of a resource. 39% of these will be aluminum.
That's it, at least for the large deposits. Smaller deposits work slightly differently, but the same general idea holds; depending on the terrain type, there's a random draw to see IF it has a resource, then a second one to see which type of resource it is.
The point is that it's all very random, and true randomness is streaky; you could easily have a ton of a resource in one game, and then the next game with the same settings has almost none. Obviously, you can skew this further; if you have a "warm" map, meaning a bit less tundra or snow (also happens on archipelago-type maps that don't go near the poles), and you've turned down the hill/mountain generation, then aluminum can be VERY rare. Even if your map was all hills, it's still a 1 in 60ish chance per hill, so it's possible that the numbers would just work against you and there'd still be none.
The game adds a hard override, to make sure there's at least 1 large deposit of every resource in the game. But other than that, it's totally random.
Now, some mods tweak this. In my own mod, for instance, every resource has a somewhat larger minimum number of deposits, with the number scaling with the number of civs. The random part is scaled down accordingly. End result: slightly less variation, making it far less likely you'll have crippling shortages. But editing this sort of thing takes a LOT of work, so it's not something to try out lightly.