A lady at the pet store where I bought my ball python suggested feeding the snake outside the cage. As an alternative, she also suggested taking the snake out of the cage, handling it for a few minutes, putting the food in the cage, and then putting the snake in the cage. That way, the snake doesn't associate something coming into the cage with food. Because my ball python is still a baby, she suggested putting the snake into the paper bag that the rat pinkie is in when I bring it home from the pet store.
The first time that I tried her method, I ran into the problem that people are describing here. To put the snake back into the cage, I would have to handle her to get her out of the bag. I finally decided against handling her and just put the bag on its side in the cage. She eventually crawled out on her own.
I now take the snake out of the cage and hold her for a few minutes first. I put the bag containing the pinkie inside the cage, and then put the snake in the cage in front of the bag. With this technique, my snake won't associate something descending into the cage as food. Her food will be served inside a paper bag, so there won't be a danger of bedding being caught in her mouth. She'll also be eating inside an enclosed area, and some people have told me that pythons prefer an enclosed area for eating.
I don't have enough experience to say whether this technique is any good. It's what I've come up with after listening to the advice of people with orders of magnitude more experience than I have.
Bill