Perhaps one way to keep the smaller team afloat is for F1 to pool together an insurance scheme to cover the cost of car damaged during the season. With this insurance scheme I am sure it will help smaller team to manage the risk of cost overrun in case their cars are damaged or destroyed during the race.
And the premium will be set according to team size (ie,. head count). So for team with 500 staffs they will have to pay more than double of a team with say 200, and there will be a cap to the amount which they could claim for say, front wings, engine, etc.