Good idea on (2). I have a gmail account, so I just use myaccount+whatever_service@gmail.com. Pretty handy.
Another nice property of this suffix is that one can identify who gave away their email address / which site it was scraped from when receiving spam; not sure where I have seen this written down originally.
Unique, non-guessable, machine-generated addresses are the way to go (do with emails just like password managers do with passwords), but no common person can use those, because they'll need a domain and self-hosted MDA.
E.g.
$ echo "$(echo -en "secretsalt\nsome.example.net" | sha1sum -b | xxd -r -p | base36 | cut -c-8)@me.example.org"
h6t8490d@me.example.org
Or just generating random IDs and maintaining the database.(Sure, HMAC would be a better idea than this string concatenation, but meh...)