There are plenty of methods apart from the signature campaigns to earn Bitcoins without any initial investment. But everything will depend upon your skills. A normal data mining job can earn you $2 to $4 per hour, depending on your efficiency. If your English is good, then you can earn $5+ per hour in content creation jobs. If you know coding/programming, then you can earn many times that amount. Later, you can convert this amount to BTC.
I agree that there are many things to do in order to earn online and when you can earn fiat money, you can easily convert it to bitcoin. You can also arrange with your employer to pay you with bitcoin instead of fiat money.