I cannot keep straight about which infinitives are preceded by "di" or "da" or "a". Is there a rule to help?
Unfortunately there are no rules. You have to memorize every single preposition.
According to a book I have called "Le Preposizioni Italiane" by Alessandro de Giuli, some verbs use "di" when they are followed by an infinitive. There doesn't seem to be a set rule for WHY these particular verbs use "di", but he does have a LIST of verbs that use this rule (verb + di + infinitive). Here's the list he gives in Chapter 8 of that book:
accorgersi, ammettere, aspettare, attendere, capire, chiedere, credere, decidere, dire, dispiacersi, escludere, essere certo, essere convinto, essere sicuro, fingere, finire, negare, ottenere, parere, pensare, premettere, prevedere, richiedere, riconoscere, ritenere, sapere, scegliere, scoprire.
(Pardon me if there are any typos!).
I hate memorising things without context! The only similarity I see in these words is that many seem to have something to do with a MENTAL or EMOTIONAL state/action: thinking, asking, deciding, believing, knowing, understanding, choosing, waiting/expecting, being certain/convinced, managing, discovering, denying, etc.
Of course there are some exceptions (dire, for example).
However, what are conspicuous by their absence here are verbs of action like mangiare, andare, scrivere, leggere, correre, etc.
That's as close to a "regola" as I can come up with! ;-)