I was drawing onto my primed canvas in pencil, in preparation to paint over the top in oils, but a friend told me that I shouldn't do that, since over time the graphite will rise to the surface of the painting.
What should I use instead?
If using graphite make sure to spray a few coats of fixative over the graphite drawing prior to painting.
What should I use instead?
You could also try:
Well, you can use graphite or charcoal pencils for drawing on canvas, but they should be sealed with a fixative or a very thin layer of gesso before applying oil over top of them. That will prevent any bleed as a result of blending with the paints.
If you don't want to do that, then I would use paint, just very thin (thinned with thinner) and fine. Mind you, it's not the same feel as using a pencil, but then you also don't have the worry about layering on it.
Traditionally a silver pen was used. see http://www.naturalpigments.com/art-supply-education/silverpoint-technique-art/
One of the modern alternatives is the use of fixative over a graphite drawing but it is a controversial method with no longevity evidence. Charcoal will muddy the paint even worse than graphite.
You can paint the drawing and underpaint with any water based medium, acrylic offers a good base paint for oils if you are using a gesso primed canvas.
Still the best way is to stay within the oil family and use a thin wash of oil paint or oil based pastels washed with a thinner.