I have given away games on reddit in the past. In my experience, this worked best:
- Make sure it's cleared with the moderators.
- State in the post how long the giveaway will run (often 1-3 days).
- Top-level comments count as entries.
- (Optional) Require commenters to follow some simple instruction, like including the word duck, or stating their favorite game.
- Accounts with less than X karma are ineligible.
- When the time is up, pick a random comment as the winner. Alternatively, have everyone comment a number within a range stated in your post, and the comment that comes closest to the number you had in mind wins.
This gave everyone a fair chance against bots, hoarders, and resellers.
Edit: I never ask people to reveal an off-site account (e.g. their Steam account) because that would create a link between accounts, making them vulnerable to tracking and doxxing. The world needs less of that, not more.