First of all, IP spoofing can and should be detected and blocked. The provider's firewalls shouldn't allow packets that have a source IP different from the legitimate netblocks assigned to the server, and raise an alert as IP spoofing is a pretty reliable indicator that some idiot is trying to use the server for DoS or similar nefarious things (I can't think of any legitimate use case for IP spoofing).
For simple bandwidth-exhaustion DoS, assuming the former method didn't catch it, the provider can try to detect common indicators such as whether the packets correspond to any known DoS tool or malware, whether packets are similar (1Gb/s of exactly the same UDP packet seems suspicious for example), and can finally apply advanced neural-network based pattern matchers that try to look for anything unusual just like banks do for credit cards (a server who never sends out much traffic suddenly sends out 1Gb/s -> raise an alert).
For higher layer attacks such as HTTP, etc I do not see much solutions I'm afraid. The first issue is a legal and ethical one. Comparing the source/destination, size and entropy of packets (as described above) is one thing and personally I would be fine with it, on the other hand having a proxy that would try to parse any packet sent out and break it down into a list of HTTP headers, DNS requests, etc is another thing and would be equivalent to wiretapping and besides being potentially illegal, I bet most people wouldn't like it, even if it is used for legitimate purposes (but once you get the potential to parse and understand any packet, it's only a matter of time before someone decides logging that data for whatever reason).
Assuming the legal/ethical concerns are out of the way, it would be really difficult to tell legitimate and malicious packets apart. There are some applications that can be brought down with just a handful of requests to the search form with the right query. How will a system like this tell legitimate search form usage from malicious abuse?
In my opinion, higher-layer attacks are best dealt with at the attack's recipient, as only they can tell a malicious request from a legitimate one, and can easily implement countermeasures on their own, as opposed to bandwidth exhaustion attacks where cooperation of the attacking network's provider is necessary since getting enough bandwidth to sustain an attack is sometimes impossible for a medium-sized company given a large enough botnet.