It would be great if someone designed a smartphone app to keep track of all these offers, so you could input which credit cards you have (i.e. CX Amex + Citibank Premiermiles + HSBC), and when you're in the queue for the cashier/getting the bill at a restaurant, you could check with the app what the best card is for racking up miles.
Surely there's a developer out there who can do that! Please!