I agree, you are going to have to set some boundaries and stick to them. First, you need to decide if this is a friend worth keeping, because you may lose her when you enforce the boundaries. Tell her to activate her debit card, that you will no longer pay for her meals. Give her a limit on how far you are willing to drive for any event, and ask her outright to share the cost of gas with you.
I does sound like she is using you to get out of the house.