Laravel Collective along with Blade partials makes this is quite easy.
Make 2 files: create.blade.php & update.blade.php As you stated, the form actions are different, so place the respective form tags into each file. Then, paste all your repetitive markup into a "partial" which both blade files can include.
create.blade.php
{!! Form::open(['url' => 'create', 'method' => 'POST']) !!}
@include ('_formBody.blade.php')
{!! Form::close() !!}
update.blade.php
// use form model binding to populate the form
{!! Form::model($model, ['method' => 'POST', 'url' => 'update']) !!}
{{ hidden_field('patch') }}
@include ('_formBody.blade.php')
{!! Form::close() !!}
_formBody.blade.php
// second parameter as null will default to data bound from model
{!! Form::text('title', null, ['class' => 'form-control', 'placeholder' => 'Title required', 'required']) !!}
// whatever else in your form
You can read more about it here: https://laravelcollective.com/docs/5.4/html#form-model-binding
The other option to include it all in 1 file, would be to run some conditionals..
@if($model->exists)
<form method="POST" action="create">
@else
<form method="POST" action="update">
{{ hidden_field('patch') }}
@endif
<input type="text" class="form-control {{ $errors->has('title') ? ' is-invalid' : '' }}" name="title" id="title" value="{{ old('title', $model->title) }}" placeholder="Title" required>
</form>