Actually, not only in the OP, there are many other ways to earn Bitcoin. Someone just needs to choose what he can do to earn the Bitcoin. But for me, the most effective way is still by trading (Buy-sell Bitcoin).
Some other ways that you can consider to earn Bitcoin.
1. Trading. You can buy and sell Bitcoin, then buy more Bitcoin with the profits you get.
2. Making a video. Sometimes, there is a campaign offering Bitcoin rewards for people who have big Youtube channels. Just make a video and upload it to the youtube channels.
3. Referral. If you can attract someone to buy ICO tokens, sometimes the team offers you a reward in Bitcoin.
4. Become a bounty manager. You can get payment in Bitcoin if you become a bounty manager.