I have found it really helpful to make batches of snacks to keep around, while making sure NOT to have bad things around that can be snacked on. Try keeping a tub of cooked chicken thighs in your fridge. Throw a little mustard or salt on those bad boys and they do a great job of getting you that tasty fix you need. Nuts can be expensive if you eat them en masse, not to mention that that ends up being a TON of calories and n-6. Hard boiled eggs are pretty amazing, too, since you can cook quite a few ahead of time and then just de-shell a few at a time to have the next couple days.
Beyond that, try to make sure you're getting enough calories on a daily bases, mostly from protein/fat, and you might find it easier to avoid cravings. Try to stay in tune with how much you've eaten at any given meal so you can approximate when you'll start to get hungry again.
I've found that banana chips (cooked in coconut oil) are good if I really want something sweet. Yeah, it might bump up my carb load a little higher than optimal, but at least they're relatively harmless otherwise -- no wheat crust or dairy. I get cold sores in my mouth almost without fail if I get too much gluten in there, so I don't really have trouble with leaving it out of my craving binges. Being in tune with the specific consequences of cheats/slips can really help you avoid them. You can say to yourself "If I down this ice cream, I'm going to be gassy and feel bloated for 30 hours." or "If this pizza enters my face, I'm gonna shit liquid for the next day and a half." Know thyself. :D
As a first step, you could find paleo substitutes for your most common cravings and not worry about eating them as a craving food. Then, slowly decrease the amount you eat when you have a craving. A big problem with some of these craving foods is that they are really really damned convenient, and it takes some effort to cook and create all of your own health.
Hope it helps!