I'm beginning to work on my senior thesis for biochemistry and I'm excited to use LaTeX to make a nice looking final product.
I'm new to LaTeX though so I don't actually know that much about it. Before I invest too much time in LaTeX I wanted to make sure I could do everything I needed to with the software.
In biology it is typical to use a two-column format for papers so I decided to use the twocolumn option in document class at the start of my document. I've found a way to get a one column abstract, include the paper's title in the corner of every page, and include page numbers throughout (all requirements I set for myself). The last thing I wanted to get working before I set down to start making the actual document was images (also known as "floats" in LaTeX?). 99% of my data is actual graphics, either graphs or western blots, so getting images in the document is key. I have figured out how to use the graphicx package to do so and using figure* instead of figure made it span the entire page. The problem is that the image almost always appears on the page after the reference, not on the same page. This is annoying because the way it looks right now I will never have an image on the same page I talk about it, it will always be exactly one page later.
Now that I have my rationale out of the way here is the short version: Is there a trick to placing images where you want them consistently and automatically, specifically in a 2-column document. I included the full rationale because there may be a much better way to approach this that is "outside the box" so to speak and in most of my searching online the first suggestions involve people recommending the asker do something other than what they specifically asked for. To give an example, here is a minimum example:
\documentclass[12pt,twocolumn]{article}
\usepackage{lipsum}
\usepackage{stfloats}
\begin{document}
\section*{Introduction}
\setlipsumdefault{13-19}
\lipsum
{\bf Here is where I reference Figure~\ref{one}}
\begin{figure*}[tbph]
\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}}
\caption{And here is the actual figure.
\label{one}}
\end{figure*}
\lipsum
\end{document}
I found some suggestions to use the multicol package and used it to make a two column page, but it didn't seem to fix the float placement. Also, most people seemed to say that specifying twocolumn in documentclass was the most efficient way to do it for a document that will be almost entirely 2 columns. I understand I could manually move the placement of the images around in my text and fix it, but I will be doing several rounds of revisions and don't want to have to fix it every time. Is there a good solution or will LaTeX not work for me? I apologize if this is a duplicate, most of the other questions I found were a year or more old and I hoped there would be a more modern solution.

multicols: latex two column layout set figure to load on single column, but Placing figures inside a two-column document (with answer of Frank Mittelbach himself). – Speravir Mar 31 '13 at 23:36dblfloatfix. Cannot say anything about this. – Speravir Mar 31 '13 at 23:53