On the other hand, if you accept my offer, I was either perfectly priced or too-low. Odds are the latter. Next time around I should raise my prices. It will make you a better client.
The important point is that pricing is both empirical and social. The empirical part is solely what someone is willing to pay. The social part is how pricing as a signifier effects the business relation. Clients who push hard for zero dollar pricing don't value the relationship. Long term B2B relationships are built around mutual success and the value of working with the same people on future projects.
The pitfall of pricing is imposter syndrome. It's thinking "Surely, I am not worth $15 per hour so I'll offer my services at $10." Fear of rejection also plays a role, "I'm not even worth $7.50 an hour." Note the downward pressure. Remember that for some clients zero dollars is the best price because they don't value the relationship.
All of which is to get to the advice, value based pricing is empirical. The only way to establish the right value is by raising your prices. Time and materials proposals are just as value based priced as fixed price proposals. The value comes from what I do, not the contract form. Value based pricing doesn't mean that I get a share of future revenue. That's a bad idea anyway, it's too much accounting and auditing for both parties. Getting paid quickly trumps just about everything except getting paid.
Finally, your clients aren't avoiding the big IT service providers and calling on you because they are expensive. The slow and low quality are what kills your client. Essentially no matter how much they pay a big IT service your client won't get what they really want. That's why they've contacted you. That's why they are willing to take the hit-by-a-bus-risks associated with a one person shop.
Good luck.