Unfortunately SQS queues do not support Termination Protection.
Out of your two options I would definitely go with 1) since 2) does not fully protect the EB cluster from deletion.
Explanation:
1) I recommend setting up a separate IAM user for every-day tasks and protect the main account with two-factor authentication and use that to spin up/down new EB clusters.
2) Even if you protect the main EC2 instance(s) with Termination Protection other critical resources associated with the EB environment will still be terminated such as load balancers, auto-scaling groups, and SNS topics.
I think the simplest solution would still be to follow the "aim twice, shoot once" philosophy as well, though an IAM account with a policy that does not allow it to terminate instances, EB environments, delete EB applications, and similar would be your sure-fire protection against yourself in moments of temporary insanity.
Hopefully this helps!