Perhaps I need to put on a grim face, as people keep asking me for advice. I was sitting in the ANU science library and was asked if I knew how to contact ANU biology people about working on "interleukin". I had no idea what this was, but suggested the same approach I use to contact people to visit when traveling. This is to use a search engine, such as Google, to look for material written on the topic by, or about, people at the institution. Then you can compose a message to them, citing their work, expressing your interest and what you can contribute. This works a lot better than calling the switchboard at random and trying to introduce yourself. This approach works with companies and government agencies as well as for universities and research organizations.
Often the person you write to will not be the right one, or no longer be at the institution, but will pass your message on. You may have to try several people in the organization, but don't email everyone at once, or you will be seen as a crank. Students from South East Asian universities, for example, tend to bombard me requests for summer visits and PHD work. The problem is that when I find all my colleagues got the same generic request it goes from being flattering to an annoyance. But those requests which mention something I have written and explain how they would like to work on it are effective.
If you have the time another way to contact people is to have them find you. If you write about that they have done and put it on the web, they, or a colleague, will likely find it. You need to make what you write sound more than a puff piece or a request for a job.
Also remember that you need to have a clear and realistic plan of what you intend to do when you have made contact. If you are an undergraduate student, then it is unlikely that the head of a world leading research institute is going to listen to some bright idea you just dreamed up. But one of their assistants might suggest a program they have you could participate in.
Also remember the human search engine, which is the administrative assistant to the head of the organization. If you can make contact with this person they can help suggest who to take to and, more importantly, "suggest" (tell) staff to talk to you. I discovered this approach when trying to find people to visit in computing at Cambridge University. As a bonus I got lunch at high table (it did help I was the president of my national professional body at the time).
A variation on the ask someone approach is to use a social networking tool. Before a recent visit to Malaysia, Greece and Turkey, I used Linked-In to search for people interested in my topics at those places. The Linked-In system then identified people who knew people who knew me. The system will then send a request for an introduction through the chain of acquaintances, to put you in contact. This worked well and the intermediaries were very happy to facilitate, this also being a way to renew old acquaintances and make new ones.