Disable ICMP replies. If someone tries to connect to a port that has nothing behind it why send back a ICMP message saying there is nothing there and double the bandwidth being used up?
If needed disable pings. While probably not something you will want to do very often, I for one am very anoyed when a site doesn't respond to my pings, it can help while you are being attacked.
If the attacker is using up your bandwidth, for instance someone sending zillions of junk packets to random ports, you will have to get your ISP to do the blocking.
If the attacker is trying to use up your computer power, for instance someone doing repetitive junk querys on a web-accesible database, you can do the blocking yourself.
Limiting is a good alternative to outright blocks. Just don't allow more then x whatever per client. This can also apply to bandwidth attacks.
Unless the remote computer has actually connected to a service the return IP address may be fake. For instance UDP junk can have a fake return address while someone doing database querys will always have a real address. This also means that tracking down the person may well be impossible. The FBI has only narrowed the Yahoo! attack down to California and Oregon, and it has been poring over logs for a few days