With everything else looking good you're fine. I know plenty of people get into Top IM programs with just 3rd-year research (and of course all the other criteria of Step, grades, etc) from low/mid-tier med schools. If you're not looking at the top then research isn't even needed unless you're genuinely interested.
Quite common. If you want to publish in medical school though, the start of M3 is really the latest you should start. There are never designated "research opportunities". You need to actively seek out research and make your opportunities. If you're interested in basic science start with the professors who teach you. It's a big time commitment outside of medical school. If you're interested in clinical research, speak to the program director/clerkship director at your program in your field of interest.
OP should do what he/she likes. Know someone who started in M3, got a few abstracts, continued publishing in residency at a different site, and matched an ivy league for cardiology fellowship from a low tier IM program. If you're interested in genuine research, look for it and you'll find it.