Cheap alternative I got from mma.tv(haven't actually done this, but sounds like a good idea):
get a Navy seabag-the type that are long and tubular and gather to close at the top(grommets with a snap hook). Take it to a shipping place(PakMail, Mailboxes etc., whatever) and have them fill it to the top with foam peanuts-won't cost much. Then either get a bunch of beach sand, or go buy some playground sand from Home Depot, and pour it in over the foam. The sand will fill in between the peanuts to firm it up, but the foam will still allow for some give when you hit it. You might want to cut the shoulder straps off, of just wrap it in duct tape. Great for everything(so I hear).
Another tip: to avoid damage to whatever your bag is hanging from (floor joists), buy a spring for the hook. The spring will absorb most of the shock from hitting, thus saving your floor.