Re: It's a culture thing..
IMHO it's more of a chicken-or-egg problem. The mere existence of these scamming 'free apps' puts pressure on honest developers to give their work for free, and the only way left for them to be paid for their work is either to go rogue, or at the very least to allow in-game ads, which in turn are often rogue themselves.
I think that the problem is the system itself. Premium numbers shouldn't be accessible without a security code and a signed written contract. And allowing phones to keep your credit card data and use it automatically whenever an app asks for it, is just suicidal.
The solutions would be a mix of legal and technical ones. Several examples follow:
-ISPs and telcos shouldn't allow the user access to premium services unless they have a copy of a written contract between the user and the owner of the premium service.*(note)
- Phones shouldn't allow any transaction involving the user's credit card number nor access to a premium service without asking for a password from the user, every time the phone tries to access one of these services or send the credit card's data.
- Payment to the premium services by the telcos and ISPs should be delayed until the user receives the invoice, plus one month for complaining/contesting it/whatever.
- ... (add your own)
I don't see these solutions being put in place any time soon, thanks to the usual issues: lobbying, pressure from the telcos on the phone makers and generalized ignorance amongst the public.
* Note: Yes, that alone would mean the disappearance of premium rate services. What's there not to like? :-)