Health promotion campaigner and Victorian Greens MP Tim Read has died after a high-profile battle with cancer.