If it was free, it would be full of airport parkers.
Most rail stations state they are for Rail Users only.
Would it be that hard to validate parking payment in some way to ensure the car park is actually being used by rail users? For example, only selling parking tickets when a valid ticket is held, or at the same time as a rail ticket was purchased. This could be extended to ensure the validity of the parking ticket did not exceed that of the train ticket held. For example, only selling a day ticket for the car park when a day rail ticket is held and only selling multi-day tickets when sold with a suitable multi-day ticket or when a season ticket is held?
Not everyone lives in walking distance to a station or has public transport that can get them there (or at the times they need to catch the train) so I do agree this is a huge disincentive.
I have seen it at some stations before (Fareham?) where you are initially charged a higher price and the parking ticket is issued in two parts, one to display in the car. The other part you take to the ticket office who refund it on purchase or presentation of a valid rail ticket. I don't know if this system is still used, but it is not that different to supermarkets that charge for parking and then refund it at the till if you have bought something.