Question: Below are just 2 example sentences for the general format '[phrase]地给[noun][verb][phrase]'. 

1. 他十分坦率地给我讲了他的故事.
2. 他很不情愿地给了我帮助.

This type of sentence is very common in Chinese. I would like to know if, generally speaking, it is acceptable in Chinese to replace '给' with '替' or '为'. If you are Chinese, would you find that acceptable in most, if not all, cases?

Answer: 
Grammar only:

In the case， "他十分坦率地给我讲了他的故事". We can trim it, then we have "他给我讲故事". You see it ends with "讲故事" (vt+noun). You can also change the order: "他讲故事给我" to make it "vt+noun to someone".

他很不情愿地给了我帮助 can be trimmed as "他给我帮助". You see it ends with "帮助" (noun). It is the object of 给 and 给 is vt.

In case 1, if you replace 给 with 替 or 为, then the grammar is OK but the meaning may be changed. Using 为 is OK because you change "to someone" to "for someone". But if you use 替 here, the meaning is changed to "instead of someone".

In case 2, you cannot replace "给" with other characters since normally if you changed vt, you changed the meaning.
Sometimes, Yes. For your example, No.  

给 can work as verb(give) or preposition(for/by)  

Example:  

他给了我帮助。(He give me some help)--your example 2.  

他给我买了些吃的。(He buys some food for me)--your example 1.  

他给狗咬了一口。(He is bitten by a dog)  

It looks confusing?  

A 给 B something: A give B something. Verb(give)  

A 给 B do something. Preposition(for/by)  

1.If A is doing, it's "for"  

2.If B is doing, it's "by"  

替 also has 2 meanings: "instead of" and "for"  

It's highly depend on context.  

A过生日，我替A买了礼物。  

A is celebrating his birthday, I brought some gift for A  

B过生日，A有事不能去，我替A买了礼物。  

B is celebrating his birthday, but A can't attend, I,instead of A, brought some gift.  

Even for native speaker, it's hard to tell which meaning is used without context.  

为 is much simpler-"for"  

A过生日，我为A买了礼物。  

A is celebrating his birthday, I brought some gift for A  

It's easy to understand your example 2 is using 给 as verb so the replacement is wrong.  

for example 2, 给 and 为 can be interchanged, but 替 will cause ambiguity.  

edit: like @Fortcpp mentioned  

给 is more like "to"  

为 is more like "for"  

So there may be some different, slightly?