If I go to play public matches, I choose from playlist. From here you can choose the type of game, or if you want to try current player created levels, beta tests and so on. As far as I know, the last time I tried public co-op it did not work. no one would ever join. Also, if you are trying to host your own public match, it will not work. The multiplayer lobby system in far cry 3 is completely broken. My best solution would be to either friend as many people in game as you can so you can join on them, or join a clan such as TAW where we play often with the same people, and have tournaments and scrims against other clans. Best of luck to you!
I have played many coop games in the last couple of weeks. It could be that in your area there aren't much players. That makes it hard to join.
Multiplayer is not really crowded, but I usually manage to enter games within a few minutes. Just keep trying.
If you are located in Australia or another remote part of the world, things may be tougher.