Hi Alex
I've heard of modelers using watch crystal cement to attach canopies, but can't comment on it, as I've never tried it. With white glue, the bond is never going to be very strong. It helps a bit to carefully sand the edges of the canopy where it mates with the fuselage to give it some "tooth". Personally, I use cyano, but it
is a bit risky. You have to glue in tiny little "tacks", letting each miniscule dot dry before doing the next. Also, dipping the canopy in Future protects from fogging somewhat and has the added benefit of making the "glass" crystal clear. You just dip the unpainted canopy into the Future, place it onto a piece of paper towel to wick off the excess (or even better, a paper coffee filter, as they're less "fuzzy"). Then cover it with something to keep off the dust until it dries. If you mess up, it can be stripped with ispropyl alcohol and redone. After the future dries, the canopy is ready to paint as normal.
IMHO, gaps caused by poor canopy fit are best addressed by adding material to the "low places" on the fuselage before the canopy is fitted, repeatedly test fitting the canopy, and gradually adding more material to the fuselage until the fit is good. If you fill gaps after the canopy is fitted, though, the best way I know of is to use Milliput (a two-part epoxy paste).
HTH
Automaton