To tie it so you don’t have those problems, you want to start with the box in the opposite orientation that you will want the bow to lay. I want the bow to lay horizontal on this box, so I’m working with it in a vertical orientation.
With the ribbon still attached to the roll, measure out roughly how long you will want half of the bow and tail to be. In the photo below, my finger is at the mid-point and the ribbon below it is what I’ve allotted for that side of the bow and tail.
Wrap the end still attached to the roll around the underside of the box and bring it back to the middle. At this point you will have ribbon wrapped around each side of the box and you will be able to cut the ribbon to the same length as the original tail you measured. Here’s were it gets a little tricky. Maintaining tension on the twist, slide the just-cut end of the ribbon (in the photo below it’s the ribbon coming from the right side of the box), under the ribbon on the top of the box.
Once you pull that snug, tie a simple overhand knot with the other ribbon tail. Everything will be held nicely in place at this point.
When you flip it over, you’ll see that the back is as lovely as the front and that the box will sit flat.
Flip it over, trim your tails to the desired length and you’re all done. Voila!