Here's what I came up with...
Take about 4 or 5 inches of 3/8 wide ribbon and make a "U" out of it. Put a dab of hot glue in the middle of the bottom of the cap and glue the curve of the "U" there with the ends sticking up in the air. (I temporarily hold the two "U" ends together with an alligator clip to get them to stand up.) Make sure the two ends are positioned right to make the bottlecap rightside up and not sideways or crooked for when you put it on the bow.
Then, fill in over the glued section and all around it, filling the bottlecap from side to side. Takes a bit for the hot glue to harden, but the alligator clip helps hold the ends in the air while it dries. When it's done you should have a cap that's filled 1/2 with glue with two ribbons sticking straight out of it about a half an inch from each other. Since the glue is continuous underneath, it doesn't even look bad from the bottom.
I use a dab of glue to center it on the bow and then wrap the two ribbon ends around to the bottom of the bow like I would a regular bow center.
I actually TRIED to pull one of these off the bow and it wouldn't budge. Just what I came up with when no one had really answered the question that I could see.