You can avoid being used for amplification attacks by simply requiring the request packet be at least as large as the response. Burns some extra inbound bandwidth and doesn't protect you from DoS attacks on your server, but at least avoids being used as an amplifier. Or you can implement a three-way handshake with a cookie or hash of a secret and the requestor's IP address, but just requiring large request packets is simpler if you're designing a really simple protocol.
Being used for amplification attacks isn't bad if the amplification factor is low (ie. <5), and there is no way to chain amplifiers.
You can also protect further against it by limiting the amount of un-acked data per second to each AS. Well behaved connections generally will ack nearly all data sent to them, whereas attacks will ACK none. That way, users have to wait one extra roundtrip if an attack on them is in progress - doesn't sound so bad.
Amplification was only a really bad problem when amplification factors over 100 were possible.