If by generating, you mean creating them then no, mining is the only way as while trading, you're just buying the coins which got first created by miners but If you mean earning then yeah, you can pretty much do whatever you do to earn fiat.
Yes completely agree.
Anyone can offer there services and skill to get paid in BTC (If possible). Otherwise service provider can take fiat currency and exchange it to BTC to keep it as investment for future.
But still mining is the only way to generate Bitcoins, according to process of generation of Bitcoins. All other ways as faucet, trading, minting, sig campaigning and many others are source of earning, where user can only earn bitcoins.