The list that follows may seem basic and it is probably posted in different versions across many websites. However, it has never failed me, my research assistants or my labmates - I even reread it when applying for new jobs to make sure that I am following all of my own recommendations. I hope it brings you luck and success!
1) Even if the person doesn't ask specifically for a cover letter, always use your introductory email to highlight your skills outside of the resume, especially the soft skills (like backpacking experience or self-funded travel) that could be important to the position. A good format would be three paragraphs: (1) introduce yourself mentioning your school, academic connections, and relevant classes or majors, (2) Talk about your job/volunteer experiences and any soft skills that are relevant, (3) after doing your research on the organization/project/reviewer, ask a few specific questions about the project and talk about why you are interested in the position (what could you gain from the experience? what makes this experience valuable to your career?)
2) Always send your resume and/or cover letter as a pdf and use a logical naming system (i.e. "EKearney_EcuadorResume" . This is easiest for the reviewer to read and share (if needed).
3) Check in about your application after submitting (a few days to a week after). Asking for a confirmation of receipt can open up a dialogue with the reviewer and shows that you are truly interested.
4) Revamp your resume for each position you apply to. This is time consuming and may seem like a waste of time but it actually really helps. Sequential order is not always important if your relevant experiences are scattered through your employment record. Also, don't use space to describe skills from jobs that are not relevant to the position.
5) Always ask for feedback on your application. Whether it's to a grant, job or volunteer position, you should always be following up with the reviewer and asking for feedback on your application. Most people will disregard this request but the more you do it the better your chances are of getting valuable insight.
6) If you get an interview and think that it went really well, you might try asking the reviewer to give your name to colleagues or forward you any positions that are related to what was posted. This has minimal cost (if they did not like you, then they don't follow up) but a lot of benefit (they might mention you to a colleague who needs someone quickly or send you something that is not publicly posted). If you did not get an interview, you can still try this but will probably not have a lot of luck.
Many researchers do not have the time or energy to post volunteer positions on their websites. Instead, they may have lots of field/lab work to do but rely on those interested to reach out to them. Since this is the case, if you can swing an unpaid volunteer position to gain experience, then send them an email! Follow recommendation #1 on writing it and make sure to attach your resume/CV.
If you have any connections at all, then use them. Science, like everything else, is a who-knows-who game and so even the slightest advantage should always be taken!
Finally, it's never too early to get involved with research. Many of the professors/post-docs/grad students that I know will welcome any helping hand that is diligent, wants to learn, and has time to spare. So, if you are a high school student who wants to get a jump on research, find your nearest university or research institution and start scouring the websites for interesting projects. Even if a professor does not have any work opportunities, you might follow-up by asking if they hold a weekly/monthly lab meeting that you could attend. These meetings will give you an idea of what research is currently being done in the lab (as papers are usually 1-4 years behind) and introduce you to other researchers that might need help. However, regular attendance at lab meetings is very important - if you decide to go, make it a priority to attend every time.