>> "before receiving a free gift that doesn't exist"
Presumably if this was done by someone like Coca-Cola you would receive something for sharing the page. The spam problem could be improved by asking them to tweet their own content + link rather than a predefined message. e.g. Tweet your favourite thing about [brand] and get [reward]. And the tweet would be [your message] + link.
These techniques could be used in interesting ways - most people just don't bother.
>> "You want users to visit a promo page, where they're forced to retweet the content before getting access?"
Also if the user is getting something of value I don't see the problem with asking them to do something to get it. They aren't being forced, they are being given a choice. Do this thing and get rewarded. Don't do it and life goes on.