Use whatever mechanism works for you. The envelope system works for many people. If buying prepaid debit cards is what it takes then do that - it's certainly cheaper than paying overdraft fees.
But the others are correct in that the reason you're paying overdraft fees is because you're not keeping a good accounting of what is in your checking account. There was a time when one could count on three to five days of "float" (the time between when a check is issued and the time when the funds are actually withdrawn from your account) but those days are gone with the advent of EFT (electronic funds transfer). So now, one would be wise to make sure the funds are actually in your account before writing a check.
Going all cash is another option and one that I use when practical. I still pay cash for gasoline, small purchases, and most restaurant meals, but of course the utilities, property taxes, etc. I pay by check.
Here, DW keeps a spreadsheet on the computer (she has an accounting background) that shows this and next months current income and predicted expenses. She's become very good at predicting variables like the heating and cooling bills and more often than not is within $10 of what the actual bill is.
If possible use one of the money-management software packages like Quicken or MS Money. When we started doing that I found the effort to keep the data current was well worth it because reconciling the checkbook when the statement arrives now takes about five minutes. Before that I'd sometimes spend an hour or more looking for the transposed digit or misplaced decimal point.