1.완벽하지는 않지만 최선을 다했어요
2.완벽하지는 않지만 최선을 다했습니다
3.완벽하지는 않지만 최선을 다했었어요
4.완벽하지는 않지만 최선을 다했다
1 and 2 are fine (2 is more formal.
3 is not right because 다했었어요 signifies it was done in the past and is no longer relevant now.
4 is grammatically correct but the -다 ending is not used as much as 했어요 or 했습니다.
Here are some realistic variations.
5.완벽하지는 않지만 저로서는 최선을 다했어요.
6.완벽하지는 않지만 제 나름대로 최선을 다한 거예요.
저로서는 is like "in my own way", but in Korean it suits the context particularly well.
제 나름대로 is similar but intensifies the "my own" part because 나름 has that meaning..
다한 거예요 makes the sentence more indirect, like "it is the best I could do in my own way".