I haven't tried to solder a tiny CSP part yet, but there is a useful trick for larger ball packages like on Altera and Xilinx FPGA's, and a lot of other SMD parts as well. Where I can, I use a very very fine precision tip to tack the corners of the part so it doesn't move. Hand stencilling solder paste is great but takes some skills that are not that obvious to novices. Pre-tinning the board with the right amount of solder is easier to control for most novices.
1) Tin all the BGA pads on the board with a UNIFORM slightly raised dome of solder. This is easily done by fluxing the pads and pushing a pea sized solder ball across all the pads lightly using the soldering iron tip as a squeegee ... takes a small amount of practice to get then all uniform, and only slightly raised with just enough solder.
2) Flux both the board and balls on the part, and place on it's pads. I use a stereo microscope to place the parts, using a silk screen reference boarder to center the part. There are some inexpensive USB microscopes on eBay with enough magnification to easily do this as well, plus get a good side view of the balls to make sure they are roughly centered on the pads.
3) Reflow the board until you visually see the BGA drop/squat onto it's balls ... with larger ball packages this is very noticable ... will probably take a USB microscope to see a small package reach reflow temp and squat. When all the pads and balls heat to reflow temp, the part will float on the solder, and center itself. Let the board cool at a reasonable rate not temp shock the parts.
4) With a microscope or inspection scope, verify the fillets are uniform on all leads. Side inspect BGA packages and verify that all visible balls are wetted, and joined to the pad ... look carefully for deformed balls that did not have a chance to wet with the solder on the pad.
I frequently reflow a modest sided board on a precision temp controlled hot plate, with a programmable ramp/profile or using controlled hot air rework station for smaller boards or single parts. Neither are that expensive on ebay .... nor is reworking a toaster oven with a programmable Arduino controller.
I've shown high school and other DIYers how to do this in an electric skillet using a harbor freight IR non-contact temp gun. Only takes a few practice runs to work out an effective warmup and cool down temp ramp that does the job, and that's not horribly far from a more precise reflow oven ramp.